xxxxxxxxxx
//PRESS "r" TO CHANGE ARTWORKS
function describeArtwork() {
switch (currentMode) {
case 0:
describe('Description for the first artwork inspired by Kazimir Malevich, focusing on abstract geometric shapes and bold colors, conveying a sense of simplicity and complexity.');
break;
case 1:
describe('Description for the second artwork inspired by Lajos Kassak, featuring dynamic constructivist compositions with a vibrant interplay of forms and colors.');
break;
case 2:
describe('Description for the third artwork inspired by El Lissitzky, highlighting the use of space, geometry, and typography to convey futurist ideas.');
break;
case 3:
describe('Description for the fourth artwork drawing from Nikolay Suetin’s influences, showcasing suprematist compositions with floating geometric shapes.');
break;
case 4:
describe('This mode presents a constructivist composition inspired by Lajos Kassak’s "Constructivist Composition" from 1923, featuring a dynamic array of geometric shapes that appear to be in motion. Emphasizing the rhythm, balance, and tension among abstract forms.');
break;
case 5:
describe('This mode is inspired by Nikolay Suetin’s "Suprematistische Komposition" from 1920, featuring an abstract Suprematist composition. Potentially an exploration of color theory, shapes interaction, and the emotional impact of abstract art.');
break;
default:
describe('An abstract composition blending various elements from modernist art movements, emphasizing geometric forms, bold colors, and dynamic arrangements.');
break;
}
}
let currentMode;
let vertices = [];
let lacivertVertices = [];
let cizgiliücgenVertices = [];
let turuncuBüyükDikdVertices = [];
let turuncuDikdortgenAltVertices = [];
let maviUstVertices = [];
let maviAltVertices = [];
function preload() {
malevich = loadImage('malevich.png');
kassak = loadImage('kassak.png');
lissitzky = loadImage('lissitzky.png');
suetin = loadImage('suetin.png');
nueFont = loadFont("Merriweather-Bold.ttf");
}
let airplane;
function drawStar(x, y, radius1, radius2, npoints) {
let angle = TWO_PI / npoints;
let halfAngle = angle / 2.0;
beginShape();
for (let a = 0; a < TWO_PI; a += angle) {
let sx = x + cos(a) * radius2;
let sy = y + sin(a) * radius2;
vertex(sx, sy);
sx = x + cos(a + halfAngle) * radius1;
sy = y + sin(a + halfAngle) * radius1;
vertex(sx, sy);
}
endShape(CLOSE);
}
function setup() {
createCanvas(600, 700);
background(233,228,222);
sarıvertices = [
{ x: 308, y: 82 },
{ x: 367, y: 129 },
{ x: 229, y: 312 },
{ x: 162, y: 258 }
];
lacivertVertices = [
{ x: 93, y: 538 },
{ x: 212, y: 596 },
{ x: 199, y: 619 },
{ x: 81, y: 561 }
];
siyahVertices = [
{ x: 439, y: 531 },
{ x: 497, y: 568 },
{ x: 457, y: 628 },
{ x: 397, y: 588 }
];
cizgiliücgenVertices = [
{ x: 137, y: 346 },
{ x: 284, y: 531 },
{ x: 163, y: 583 },
];
let turuncuBüyükDikdVertices = [
{ x: 98, y: 162 },
{ x: 315, y: 198 },
{ x: 313, y: 230 },
{ x: 90, y: 201 } ];
let turuncuDikdortgenAltVertices = [
{ x: 248, y: 530 },
{ x: 372, y: 500 },
{ x: 377, y: 514 },
{ x: 251, y: 548 }
];
let maviUstVertices = [
{ x: 185, y: 109 },
{ x: 289, y: 139 },
{ x: 287, y: 146 },
{ x: 182, y: 114 }
];
let maviAltVertices = [
{ x: 157, y: 542 },
{ x: 405, y: 477 },
{ x: 407, y: 489 },
{ x: 162, y: 552 }
];
selectRandomMode();
}
function draw() {
background(255);
switch (currentMode) {
case 0:
drawMode0();
break;
case 1:
drawMode1();
break;
case 2:
drawMode2();
break;
case 3:
drawMode3();
break;
case 4:
drawMode4();
break;
case 5:
drawMode5();
break;
}
}
function keyPressed() {
if (key === 'r' || key === 'R') {
selectRandomMode();
}
}
function selectRandomMode() {
currentMode = int(random(6)); // Rastgele bir mod numarası seç (0'dan 5'e kadar)
}
function drawMode0() {
describe('This mode features geometric shapes and color blocks inspired by Kazimir Malevich\'s "Airplane Flying". Dominant colors include red, yellow, black, and navy blue, creating a dynamic composition.');
background(249,243,229);
image(malevich, 390, 580, 120, 20);
textSize(8);
textAlign(LEFT); // ortala
fill(0);
textFont(nueFont);
text("Airplane Flying,Kazimir Malevich 1915 ",370, 615);
scale(0.8);
translate(70,50);
//KIRMIZILAR
fill(149,39,14);
{ beginShape(); //kırmızı dikd. büyük
vertex(141,155);
vertex(443,128);
vertex(445,143);
vertex(144,170);
endShape(CLOSE);}
//SARILAR
//gölge efektini ayarla
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0.3, 0, 0, 0.3)';
let moveX = sin(frameCount * 0.003) * 80; //lacivert dikd. büyük
fill(234, 171, 6); // Yellow color
noStroke(); // No outline
// Zamanla değişen ölçek faktörünü hesapla
let MoveP = 1 + sin(frameCount * 0.03) * 0.03;
beginShape();
vertex(308,82 +MoveP);
vertex(367, 129+MoveP);
vertex(229, 312+MoveP);
vertex(162, 258+MoveP);
endShape(CLOSE);
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
{ beginShape(); //büyük sarı yanındaki
vertex(333,191);
vertex(352,205);
vertex(298,281);
vertex(273,265);
endShape(CLOSE);}
{ beginShape(); //sarı kare üst
vertex(360,209);
vertex(402,239);
vertex(365,289);
vertex(322,256);
endShape(CLOSE);}
{ beginShape(); //sarı kare en küçük
vertex(339,296);
vertex(366,313);
vertex(356,332);
vertex(325,315);
endShape(CLOSE);}
{ beginShape(); //sarı kare alttaki dikdörtgen
vertex(169,287);
vertex(220,326);
vertex(174,393);
vertex(119,353);
endShape(CLOSE);}
{ beginShape(); //sarı kare en alttaki dikdörtgen
vertex(109,379);
vertex(150,411);
vertex(131,436);
vertex(87,406);
endShape(CLOSE);}
//SİYAHLAR
fill(0);
{ beginShape(); //siyah kare en büyük
vertex(272,289);
vertex(411,377);
vertex(260,588);
vertex(129,479);
endShape(CLOSE);}
{ beginShape(); //siyah kare ikinci
vertex(376,442);
vertex(450,484);
vertex(362,622);
vertex(287,577);
endShape(CLOSE);}
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0.3, 0, 0, 0.3)';
// 3. Siyah karenin merkezini hesapla
let merkezX = (siyahVertices[0].x + siyahVertices[2].x) / 2;
let merkezY = (siyahVertices[0].y + siyahVertices[2].y) / 2;
// Çizim düzlemini kaydır ve döndür
translate(merkezX, merkezY);
rotate(radians(frameCount));
translate(-merkezX, -merkezY);
// 3. Siyah kareyi çiz
fill(0);
noStroke();
{beginShape();
for (let v of siyahVertices) {
vertex(v.x, v.y);
}
endShape(CLOSE);
// Dönme ve kaydırmayı sıfırla
resetMatrix();
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
//LACİVERTLER
fill(29,47,85);
translate(-20,-30);
{ beginShape(); //lacivert dikd. küçük
vertex(433,409);
vertex(495,445);
vertex(486,456);
vertex(424,420);
endShape(CLOSE);}
//gölge efektini ayarla
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.6)';
translate(30,-30);
let moveX = sin(frameCount * 0.03) * 20; //lacivert dikd. büyük
fill(0, 0, 128);
noStroke();
{ beginShape();
for (let v of lacivertVertices) {
vertex(v.x + moveX, v.y); // X koordinatına hareket miktarını ekle
}
endShape(CLOSE);}
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
//KIRMIZILAR
translate(40,80);
fill(149,39,14);
//gölge efektini ayarla
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.6)';
let dönMerkezX = 135;
let dönMerkezY = 148;
// Çizim düzlemini döndürme merkezine kaydır
translate(dönMerkezX, dönMerkezY);
// Zamanla değişen bir açıyla döndür
rotate(radians(frameCount* 0.30));
// Çizim düzlemini geri kaydır
translate(-dönMerkezX, -dönMerkezY);
fill(149, 39, 14);
noStroke();
{ beginShape();
vertex(173, 126);
vertex(247, 116);
vertex(247, 123);
vertex(174, 132);
endShape(CLOSE); }
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
// Dönme ve kaydırmayı sıfırla
resetMatrix();
}
}
function drawMode1() {
describe('This artwork is inspired by Lajos Kassak’s abstract compositions, featuring bold geometric shapes and dynamic forms. Central to the scene is a large yellow ellipse on a beige background, overlaid by a red ellipse, adding depth. Various geometric shapes, including rectangles and triangles in shades of blue, yellow, and red, contribute to the composition’s complexity. Black lines and smaller shapes add detail and contrast, creating a lively interplay of forms. The artwork evokes a sense of motion and modernist exploration.');
noStroke();
background(237,212,182);
image(kassak, 420, 575,70,25);
textSize(8);
textAlign(LEFT); // ortala
fill(0);
textFont(nueFont);
text("Lot 41B, Lajos Kassak 1887 ", 400, 615);
scale(0.9);
translate(30,40);
push();
// Döndürülecek şekiller için döndürme işlemini ayarla
push(); // Mevcut çizim durumunu kaydet
translate(316, 247); // Döndürme merkezine taşı
rotate(radians(frameCount)); // Döndür
translate(-316, -247); // Geri taşı
//SARI YAY
fill(223,159,49);
ellipse(313,240,296,310);
fill(237,212,182);
ellipse(313,240,240,259);
{ beginShape(); //alt dikd.
vertex(263,358);
vertex(278,363);
vertex(265,393);
vertex(249,386);
endShape(CLOSE);}
{ beginShape(); //üst dikd.
vertex(270,88);
vertex(287,84);
vertex(296,114);
vertex(279,115);
endShape(CLOSE);}
fill(237,212,182);
{ beginShape(); //büyük dikd.
vertex(280,80);
vertex(472,92);
vertex(450,396);
vertex(260,396);
endShape(CLOSE);}
pop();
//kırmızı daire
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.3)';
fill(205,63,43);
ellipse(317,240,180,214);
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
//sarı tam daire
fill(223,159,49);
ellipse(414,395,105,110);
//lacivert dikdörtgen
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.3)';
fill(32,75,128);
{beginShape();
vertex(330,320);
vertex(425,318);
vertex(425,540);
vertex(330,538);
endShape(CLOSE);}
//sarı dikdörtgen
fill(223,159,49);
{beginShape();
vertex(320,427);
vertex(367,427);
vertex(367,590);
vertex(319,589);
endShape(CLOSE);}
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
//kırmızı dikdörtgenler
fill(205,63,43);
{beginShape(); //küçük kırmızı dikd.
vertex(342,363);
vertex(378,363);
vertex(378,379);
vertex(342,376);
endShape(CLOSE);}
{beginShape(); //büyük kırmızı dikd.
fill(205,63,43);
vertex(360,363);
vertex(378,363);
vertex(378,485);
vertex(358,485);
endShape(CLOSE);}
//L çizgiler
stroke(0, 0, 0);
strokeWeight(2);
let moveA = sin(frameCount * 0.05) * 30; // Hareket miktarı ve hızı
line(407, 371+ moveA, 402, 563+ moveA,);
line(407, 371+ moveA, 457, 371+ moveA); //kısa
let moveB = sin(frameCount * 0.04) * 40; // Hareket miktarı ve hızı
line(411, 378 +moveB, 410, 574+moveB);
line(411, 378+moveB, 452, 378+moveB); //kısa
let moveC = sin(frameCount * 0.03) * 50; // Hareket miktarı ve hızı
line(418, 386+moveC, 417, 584+moveC);
line(418, 386+moveC, 445, 386+moveC); //kısa
noStroke();
//üçgenler
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.3)';
let moveX = sin(frameCount * 0.04) * 30;//turuncu dikd. üst
fill(255, 165, 0);
{ beginShape();
for (let v of cizgiliücgenVertices) {
vertex(v.x + moveX, v.y);
}
endShape(CLOSE); }
stroke(0, 0, 0); //çizgili üçgen çizgileri
strokeWeight(2);
line(159+ moveX,561,174+ moveX,577);
line(159+ moveX,547,182+ moveX,574);
line(156+ moveX,532,190+ moveX,570);
line(155+ moveX,517,196+ moveX,566);
line(153+ moveX,499,205+ moveX,563);
line(152+ moveX,485,214+ moveX,560);
line(150+ moveX,471,221+ moveX,556);
line(150+ moveX,471,221+ moveX,556);
line(148+ moveX,456,229+ moveX,552);
line(147+ moveX,441,238+ moveX,547);
line(146+ moveX,425,244+ moveX,545);
line(144+ moveX,411,250+ moveX,539);
line(141+ moveX,395,259+ moveX,538);
line(139+ moveX,378,265+ moveX,534);
line(138+ moveX,361,275+ moveX,532);
noStroke();
fill(59,51,49);
{beginShape(); //alt üçgen
vertex(196,445);
vertex(295,447);
vertex(245,597);
endShape(CLOSE);}
fill(237,212,182);
ellipse(279,461,10,13); //en alt üçgen dairesi
fill(59,51,49);
{beginShape(); //en üst üçgen
vertex(403,66);
vertex(467,144);
vertex(310,215);
endShape(CLOSE);}
fill(237,212,182);
circle(403,90,20); //en üst üçgen dairesi
//kahverengi dikdörtgen
let moveZ = sin(frameCount * 0.04) * 20; // Hareket miktarı ve hızı
fill(59,51,49);
{beginShape();
vertex(123+ moveZ,262);
vertex(331+ moveZ,263);
vertex(332+ moveZ,273);
vertex(124+ moveZ,272);
endShape(CLOSE); }
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
}
function drawMode2() {
background(253,214,159);
image(lissitzky, 350, 570,140,50);
textSize(8);
textAlign(LEFT); // ortala
fill(0);
textFont(nueFont);
text("Beat the Whites with the Red Wedge, El Lissitzky 1919", 300, 615);
noStroke();
translate(0, 30);
//gri minik dikdörtgen
fill(114,118,127);
{ beginShape();
vertex(195,255);
vertex(255,255);
vertex(254,266);
vertex(195,265);
endShape(CLOSE);}
fill(194,37,18);
ellipse(355,220,230,210); //kırmızı daire
//küçük düz dikd.
fill(31,29,30);
{ beginShape(); //lacivert kısım
vertex(348,265);
vertex(420,265);
vertex(420,438);
vertex(350,438);
endShape(CLOSE);}
fill(253,214,159);
{ beginShape(); //background kısım
vertex(420,265);
vertex(428,274);
vertex(427,446);
vertex(420,438);
endShape(CLOSE);}
fill(211,211,211);
{ beginShape(); //açık gri kısım
vertex(420,438);
vertex(427,446);
vertex(360,446);
vertex(350,438);
endShape(CLOSE);}
//lacivert yatay dikd.
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.3)';
moveA = 70 * sin(frameCount * 0.02);
{ beginShape();
vertex(328 +moveA,360);
vertex(438 +moveA,360);
vertex(438 +moveA,367);
vertex(328 +moveA,367);
endShape(CLOSE);}
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
//dikey kırmızı dikd.
moveA = 150 * sin(frameCount * 0.004);
fill(194,37,18);
{ beginShape(); //açık kırmızı kısım
vertex(427,387 +moveA);
vertex(439,387 +moveA);
vertex(439,427 +moveA);
vertex(427,427 +moveA);
endShape(CLOSE);}
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.3)';
fill(220,216,215);
{ beginShape(); //koyu kırmızı kısım
vertex(439,387 +moveA);
vertex(464,416 +moveA);
vertex(464,448 +moveA);
vertex(439,427 +moveA);
endShape(CLOSE);}
fill(89,42,26);
{ beginShape(); //gri kısım
vertex(439,427 +moveA);
vertex(464,448 +moveA);
vertex(451,449 +moveA);
vertex(427,427 +moveA);
endShape(CLOSE);}
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
//sol perspektifli dikd.
moveZ = 25 * sin(frameCount * 0.02);
fill(114,118,127);
{ beginShape(); //koyu gri kısım
vertex(313,241 +moveZ);
vertex(328,241 +moveZ);
vertex(328,286 +moveZ);
vertex(313,286 +moveZ);
endShape(CLOSE);}
fill(211,211,211);
{ beginShape(); //açık gri kısım
vertex(328,241 +moveZ);
vertex(363,262 +moveZ);
vertex(362,303+moveZ);
vertex(328,286+moveZ);
endShape(CLOSE);}
fill(253,214,159);
{ beginShape(); //backgorund kısım
vertex(328,286+moveZ);
vertex(362,303+moveZ);
vertex(348,305+moveZ);
vertex(313,286+moveZ);
endShape(CLOSE);}
//gri yamuk dikdörtgen
moveY = 80 * sin(frameCount * 0.01);
fill(211,211,211);
{ beginShape(); //açık gri kısım
vertex(241,408 +moveY);
vertex(264,423 +moveY);
vertex(249,442 +moveY);
vertex(225,427 +moveY);
endShape(CLOSE);}
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.3)';
fill(114,118,127);
{ beginShape(); //koyu gri kısım
vertex(264,423 +moveY);
vertex(300,518 +moveY);
vertex(294,527 +moveY);
vertex(249,442 +moveY);
endShape(CLOSE);}
fill(31,29,30);
{ beginShape(); //lacivert kısım
vertex(249,442 +moveY);
vertex(294,527 +moveY);
vertex(271,513 +moveY);
vertex(225,427 +moveY);
endShape(CLOSE);}
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
//kırmızı 2d dikdörtgen
fill(194,37,18);
{ beginShape();
vertex(323,489);
vertex(366,489);
vertex(366,521);
vertex(324,521);
endShape(CLOSE);}
//kırmızı çizgili paralelkenar
fill(194,37,18);
{ beginShape(); //kırmızı dikd.
vertex(188,92 );
vertex(198,81 );
vertex(198,531 );
vertex(188,538 );
endShape(CLOSE);}
//siyah çizgiler
moveB = 80 * sin(frameCount * 0.01);
fill(0);
stroke(3);
line(145,148+moveB,187,90); //sağ kenar
line(145,488+moveB,187,537); //sol kenar
line(145,148+moveB,143,489+moveB);//dik kenar
line(146,231+moveB,188,232+moveB);
line(146,255+moveB,188,254+moveB);
//yatay uzun büyük dikd.
noStroke();
//gölge efektini ayarla
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.4)';
moveD = 30 * sin(frameCount * 0.01);
fill(114,118,127);
{ beginShape(); //koyu gri kısım
vertex(77 + moveD,159);
vertex(389 + moveD,161);
vertex(388 + moveD,216);
vertex(77 + moveD,214);
endShape(CLOSE);}
fill(211,211,211);
{ beginShape(); //açık gri kısım
vertex(389 + moveD,161);
vertex(408 + moveD,175);
vertex(406 + moveD,226);
vertex(389 + moveD,215);
endShape(CLOSE);}
fill(31,29,30);
{ beginShape(); //lacivert kısım
vertex(79 + moveD,214);
vertex(390 + moveD,216);
vertex(405 + moveD,225);
vertex(102 + moveD,225);
endShape(CLOSE);}
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
}
function drawMode3() {
describe('Inspired by El Lissitzky’s "New Man", this mode features an abstract composition with a central figure represented by overlapping geometric shapes. A large brown and a smaller cream ellipse symbolize the figure’s head and body, set against a light beige background. Black lines and shapes form the limbs, suggesting movement and dynamism. Red and cream geometric forms add contrast and depth, while the use of shadow and curve lines introduce a sense of three-dimensionality. The overall composition evokes a modernist interpretation of the human form.');
background(242,230,190);
image(lissitzky, 380, 570,140,50);
textSize(8);
textAlign(LEFT); // ortala
fill(0);
textFont(nueFont);
text("New Man, El Lissitzky 1923", 400, 615);
noStroke();
translate(27,35);
scale(0.9);
push(); // Mevcut çizim durumunu kaydet
// Döndürme merkezini ve açısını hesapla
let merkezX = 343;
let merkezY = 270;
let angle = radians(frameCount * 0.20); // Dönüş hızı
// Döndürme işlemi için
translate(merkezX, merkezY); // Döndürme merkezine taşı
rotate(angle); // Döndür
translate(-merkezX, -merkezY); // Geri taşı
// Büyük kahverengi daire parçası
fill(116, 88, 51);
ellipse(343, 270, 170, 172);
// İç açık renkli daire
fill(242, 230, 190);
ellipse(343, 270, 150, 152);
// Diğer şekiller
fill(242,230,190);
beginShape();
vertex(324, 172);
vertex(344, 180);
vertex(344, 200);
vertex(330, 200);
endShape(CLOSE);
fill(242,230,190);
beginShape();
vertex(298, 332);
vertex(304, 336);
vertex(298, 349);
vertex(293, 339);
endShape(CLOSE);
fill(242,230,190);
beginShape();
vertex(344, 181);
vertex(297, 348);
vertex(220, 341);
vertex(281, 138);
endShape(CLOSE);
pop();
fill(227,203,139); //açık krem
{ beginShape(); //en arkadaki krem cokgen
vertex(298,351);
vertex(381,347);
vertex(381,402);
vertex(251,402);
endShape(CLOSE);}
//boyun
fill(116,88,51); //kahverengi
{ beginShape();
vertex(369,188); //kahverengi ücgen
vertex(400,188);
vertex(398,210);
endShape(CLOSE);}
fill(227,203,139); //açık krem
{ beginShape();
vertex(407,187); // krem üçgen
vertex(453,185);
vertex(433,205);
endShape(CLOSE);}
fill(0);
{ beginShape();
vertex(380,196); //siyah paralelkenar
vertex(400,196);
vertex(400,227);
vertex(380,243);
endShape(CLOSE);}
{ beginShape();
vertex(407,191); //siyah ücgen
vertex(445,191);
vertex(405,223);
endShape(CLOSE);}
//yüz
fill(227,203,139); //açık krem
ellipse(391,163,35,50); //sol daire
fill(116,88,51);
ellipse(420,163,36,50); //sağ daire
fill(242,230,190);//arkaplan
ellipse(402,164,13,40); //orta daire
//gözler
fill(0);
drawStar(395, 154, 5, 15, 5);
fill(216,23,16);
drawStar(417, 159, 5, 15, 5);
//kollar
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.3)';
push();
noFill();
stroke(0); // Çizgi rengini siyah yapar
strokeWeight(3); // Çizgi kalınlığını 3 piksel yapar
beginShape();
curveVertex(374, 248); // Başlangıç noktasını ekstra olarak ekle
curveVertex(374, 248); // Başlangıç noktası
curveVertex(367, 255); // İlk kontrol noktası
curveVertex(428, 245); // İkinci kontrol noktası
curveVertex(517, 180); // Üçüncü kontrol noktası
curveVertex(518, 179); // Bitiş noktası
curveVertex(518, 179); // Bitiş noktasını ekstra olarak ekle
endShape();
pop();
{ beginShape();
fill(227,203,139); //açık krem
vertex(428,255); //sağ kol ilk dikd.
vertex(508,188);
vertex(511,192);
vertex(431,259);
endShape(CLOSE);}
{ beginShape();
vertex(449,245); //sağ kol ikinci dikd.gövde
vertex(493,209);
vertex(498,213);
vertex(453,249);
endShape(CLOSE);}
fill(183,157,108);
{ beginShape();
vertex(497,205); //sağ kol ikinci dikd.üst
vertex(503,212);
vertex(498,213);
vertex(493,208);
endShape(CLOSE);}
{ beginShape();
fill(227,203,139); //açık krem
vertex(175,201); //sol kol üst kısım
vertex(184,201);
vertex(372,248);
vertex(362,256);
endShape(CLOSE);}
{ beginShape();
fill(183,157,108); //koyu krem
vertex(174,202); //sol kol alt kısım
vertex(362,257);
vertex(360,266);
vertex(176,203);
endShape(CLOSE);}
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
//sağ bacak
let merkezE = 344;
let merkezT = 324;
let angle3 = radians(20 * sin(frameCount * 0.02)); // Zamanla değişen 45 derece hareket
// Belirtilen şekilleri döndürmek için
push(); // Mevcut çizim durumunu kaydet
translate(merkezE, merkezT); // Döndürme merkezine taşı
rotate(angle3); // Döndür
translate(-merkezE, -merkezT); // Geri taşı
// Sağ bacak çizgisi
noFill();
stroke(0);
strokeWeight(3);
line(344, 324, 513, 459);
// Diğer şekiller
stroke(0);
fill(183, 157, 108); // Koyu krem
beginShape(); // Renksiz üçgen
vertex(491, 438);
vertex(508, 438);
vertex(500, 447);
endShape(CLOSE);
fill(0); // Siyah
beginShape(); // Siyah üçgen
vertex(479, 437);
vertex(502, 455);
vertex(478, 455);
endShape(CLOSE);
line(469, 459, 500, 459); // Siyah kısa çizgi
fill(183, 157, 108); // Koyu krem
beginShape(); // Mini üçgen
vertex(479, 459);
vertex(485, 469);
vertex(491, 459);
endShape(CLOSE);
pop(); // Çizim durumunu geri yükle
let merkezU = 381;
let merkezV = 401;
let angle4 = radians(20 * sin(frameCount * 0.01)); // Zamanla değişen 45 derece hareket
// Belirtilen şekilleri döndürmek için
push(); // Mevcut çizim durumunu kaydet
translate(merkezU, merkezV); // Döndürme merkezine taşı
rotate(angle4); // Döndür
translate(-merkezU, -merkezV); // Geri taşı
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.3)';
// Sol bacak küçük dikdörtgen prizması
fill(116, 88, 51);
beginShape();
vertex(96, 539);
vertex(125, 527);
vertex(137, 534);
vertex(103, 544);
endShape(CLOSE);
fill(183,157,108); //koyu krem
{ beginShape(); //sol küçük dikd. prizması alt
vertex(103,545);
vertex(137,534);
vertex(138,539);
vertex(105,549);
endShape(CLOSE);}
{ beginShape(); //sol küçük dikd. prizması yan
vertex(104,545);
vertex(105,549);
vertex(91,544);
vertex(97,539);
endShape(CLOSE);}
{ beginShape(); //beyaz ücgen
vertex(116,538);
vertex(97,538);
vertex(200,449);
endShape(CLOSE);}
//sol bacak çizgisi
push();
noFill();
stroke(0); // Çizgi rengini siyah yapar
strokeWeight(3); // Çizgi kalınlığını 3 piksel yapar
beginShape();
curveVertex(88,543);
curveVertex(88,543);
curveVertex(231,437);
curveVertex(312,387);
curveVertex(366,380);
curveVertex(383,381);
curveVertex(383,381);
endShape();
pop();
fill(227,203,139); //açık krem
{ beginShape(); //beyaz paralelkenar üst
vertex(213,423);
vertex(300,346);
vertex(309,351);
vertex(205,438);
endShape(CLOSE);}
fill(183,157,108); //koyu krem
{ beginShape(); //beyaz paralelkenar alt
vertex(205,438);
vertex(310,351);
vertex(315,352);
vertex(207,443);
endShape(CLOSE);}
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
pop(); // Çizim durumunu geri yükle
push();
moveK = 70 * sin(frameCount * 0.02);
fill(0);
beginShape(); //siyah tabak
curveVertex(122 +moveK,187);
curveVertex(140 +moveK,199);
curveVertex(181 +moveK,187);
curveVertex(206 +moveK,191);
curveVertex(221 +moveK,199);
curveVertex(240 +moveK,187);
endShape();
pop();
//gövde
fill(0);
{ beginShape(); //küçük kare
vertex(390,331);
vertex(404,331);
vertex(403,341);
vertex(389,342);
endShape(CLOSE);}
{ beginShape(); //küçük kare
vertex(389,344);
vertex(414,344);
vertex(414,371);
vertex(392,370);
endShape(CLOSE);}
moveF = 100 * sin(frameCount * 0.02);
{ beginShape(); //ince paralelkenr omurga
vertex(383,380 +moveF);
vertex(391,371 +moveF);
vertex(390,289 +moveF);
vertex(380,289 +moveF);
endShape(CLOSE);}
fill(216,23,16);
{ beginShape(); //kırmızı kare
vertex(271,267);
vertex(343,267);
vertex(343,338);
vertex(271,338);
endShape(CLOSE);}
fill(0);
{ beginShape(); //siyah gövde şekli üst
vertex(362,257);
vertex(418,252);
vertex(420,264);
vertex(389,289);
endShape(CLOSE);}
{ beginShape();
vertex(362,257); //siyah gövde şekli alt
vertex(390,289);
vertex(390,309);
vertex(361,334);
endShape(CLOSE);}
}
function drawMode4() {
describe('This mode presents a constructivist composition inspired by Lajos Kassak’s "Constructivist Composition" from 1923, featuring a dynamic array of geometric shapes that appear to be in motion. Vibrant rectangles in red, blue, and yellow oscillate against a neutral background, suggesting rhythm and energy. The composition is structured in layers, with shapes overlapping and interacting to create depth. The use of shadows adds a three-dimensional quality, enhancing the illusion of movement. This abstract arrangement evokes the revolutionary spirit of constructivism, emphasizing function, modernity, and the machine aesthetic.');
background(228,221,205);
image(kassak, 420, 575,70,25);
textSize(8);
textAlign(LEFT); // ortala
fill(0);
textFont(nueFont);
text("Constructivist Composition, Lajos Kassak 1923 ", 320, 615);
translate(30,50);
scale(0.9);
fill(0);
rect(103,547,386,3);//zemin
//1. sıra en arka
noStroke();
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0.3)';
moveq = 70 * sin(frameCount * 0.02);
fill(216,19,29); //kırmızı
beginShape(); //kırmızı şekil
vertex(235, 111 +moveq);
vertex(261, 111 +moveq);
vertex(261, 547);
vertex(235, 547);
endShape(CLOSE);
movee = 20 * sin(frameCount * 0.02);
fill(90,78,66); //kahve
beginShape(); //kahverengi kare
vertex(301, 138 +movee);
vertex(321, 138 +movee);
vertex(320, 547 );
vertex(301, 547 );
endShape(CLOSE);
mover = 20 * sin(frameCount * 0.02);
fill(216,19,29); //kırmızı
beginShape();
vertex(366, 179 + mover);
vertex(385, 179+ mover);
vertex(385, 547);
vertex(366, 547);
endShape(CLOSE);
//ikinci sıra
movet = 20 * sin(frameCount * 0.01);
beginShape();
fill(240,172,25); //sarı
vertex(256, 156 + movet);
vertex(321, 157 +movet);
vertex(321, 547);
vertex(256, 547);
endShape(CLOSE);
movey = 20 * sin(frameCount * 0.04);
fill(0,103,184); //mavi
beginShape();
vertex(366, 310 +movey);
vertex(440,310 +movey);
vertex(440,547);
vertex(366,547);
endShape(CLOSE);
//üçüncü sıra
moveu = 10 * sin(frameCount * 0.04);
fill(0,103,184); //mavi
beginShape();
vertex(204,211 +moveu);
vertex(321,211 +moveu);
vertex(321,547);
vertex(204,547);
endShape(CLOSE);
moveo = 10 * sin(frameCount * 0.05);
fill(216,19,29); //kırmızı
beginShape();
vertex(366, 373 +moveo );
vertex(460,373 +moveo);
vertex(458,547);
vertex(366,547);
endShape(CLOSE);
movep = 10 * sin(frameCount * 0.05);
fill(0);
beginShape(); //siyah
vertex(191, 252 +movep);
vertex(239, 253 +movep);
vertex(239, 547);
vertex(190, 547);
endShape(CLOSE);
//dördüncü sıra
moves = 40 * sin(frameCount * 0.02);
fill(216,19,29); //kırmızı
beginShape();
vertex(174,267 +moves);
vertex(240, 267+moves);
vertex(239, 547);
vertex(174, 547);
endShape(CLOSE);
moved = 60 * sin(frameCount * 0.01);
fill(0);
beginShape(); //siyah
vertex(221, 352 +moved);
vertex(238, 352 +moved);
vertex(238, 547);
vertex(220, 547);
endShape(CLOSE);
movef = 10 * sin(frameCount * 0.01);
fill(240,172,25); //sarı
beginShape();
vertex(237,243 + movef);
vertex(320,243 + movef);
vertex(320, 547);
vertex(237, 547);
endShape(CLOSE);
moveg = 10 * sin(frameCount * 0.04);
beginShape(); //siyah
fill(0);
vertex(321, 84 +moveg);
vertex(367, 84 +moveg);
vertex(367, 547);
vertex(321, 547);
endShape(CLOSE);
//beşinci sıra
moveh = 70 * sin(frameCount * 0.02);
fill(0,103,184); //mavi
beginShape();
vertex(133,457 +moveh);
vertex(237,456 +moveh);
vertex(237,547);
vertex(133, 547);
endShape(CLOSE);
movej = 57 * sin(frameCount * 0.01);
fill(0);
beginShape(); //siyah
vertex(200,485 +movej);
vertex(277,485 +movej);
vertex(277, 547);
vertex(200, 547);
endShape(CLOSE);
movel = 90 * sin(frameCount * 0.01);
fill(90,78,66); //kahve
beginShape();
vertex(274,414 +movel);
vertex(410,414+movel);
vertex(410, 547);
vertex(274, 547);
endShape(CLOSE);
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
}
function drawMode5() {
describe('This mode is inspired by Nikolay Suetin’s "Suprematistische Komposition" from 1920, featuring an abstract Suprematist composition. The scene is filled with geometric shapes in motion, including circles, rectangles, and elongated polygons, primarily in bold reds, deep blues, and vibrant yellows against a soft beige background. Black shapes add contrast and depth, while shadows and overlapping forms create a sense of three-dimensional space. The composition is animated, with elements subtly shifting positions, suggesting the dynamism and rhythm inherent in Suprematist art. The overall effect is one of balance and tension among the floating geometric forms.');
let turuncuBüyükDikdVertices = [
{ x: 98, y: 162 },
{ x: 315, y: 198 },
{ x: 313, y: 230 },
{ x: 90, y: 201 } ];
let turuncuDikdortgenAltVertices = [
{ x: 248, y: 530 },
{ x: 372, y: 500 },
{ x: 377, y: 514 },
{ x: 251, y: 548 }
];
let maviUstVertices = [
{ x: 185, y: 109 },
{ x: 289, y: 139 },
{ x: 287, y: 146 },
{ x: 182, y: 114 }
];
let maviAltVertices = [
{ x: 157, y: 542 },
{ x: 405, y: 477 },
{ x: 407, y: 489 },
{ x: 162, y: 552 }
];
background(249,243,229);
image(suetin, 380, 555,105,81);
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
textSize(8);
textAlign(LEFT); // ortala
fill(0);
noStroke();
textFont(nueFont);
text("Suprematistische Komposition , Nikolay Suetin 1920", 310, 615);
noStroke(); // No outline
fill(0);
{ beginShape();
fill(0);
vertex(293, 47);
vertex(306, 54);
vertex(263, 240);
vertex(246, 236);
endShape(CLOSE); }
translate(-70,0);
//kırmızılar
fill(173,16,37);
circle(330,315,235);
//arkaplan küçük dikd.
fill(244,217,187);
let merkezX = 351;
let merkezY = 329;
let angle = radians(frameCount);
translate(merkezX, merkezY);
rotate(angle);
translate(-merkezX, -merkezY);
noStroke();
{ beginShape();
vertex(353, 324);
vertex(449, 315);
vertex(449, 323);
vertex(355, 331);
endShape(CLOSE);
}
resetMatrix();
//siyahlar
fill(0);
{ beginShape(); // siyahdikd. 1
vertex(199,604);
vertex(254,584);
vertex(257,592);
vertex(202,613);
endShape(CLOSE);
}
{ beginShape(); // siyahdikd. 2
vertex(246, 236);
vertex(263, 240);
vertex(270, 395);
vertex(252, 395);
endShape(CLOSE);
}
{ beginShape(); //siyah dikd. 3
vertex(158,207);
vertex(335,233);
vertex(330,253);
vertex(155,223);
endShape(CLOSE);}
{ beginShape(); // siyahdikd. 4
vertex(272, 483);
vertex(290, 483);
vertex(353, 630);
vertex(338, 640);
endShape(CLOSE);
}
//TURUNCULAR
//gölge efektini ayarla
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0.3, 0, 0, 0.3)';
fill(210,140,81);
let moveX = sin(frameCount * 0.04) * 30;//turuncu dikd. üst
fill(255, 165, 0);
{ beginShape();
for (let v of turuncuBüyükDikdVertices) {
vertex(v.x + moveX, v.y);
}
endShape(CLOSE);
}
let moveY = sin(frameCount * 0.05) * 20; //turuncu dikd. alt
{beginShape();
for (let v of turuncuDikdortgenAltVertices) {
vertex(v.x + moveY, v.y);
}
endShape(CLOSE);
}
// Gölge efektini sıfırla
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 0;
drawingContext.shadowColor = 'rgba(0, 0, 0, 0)';
//SİYAHLAR
fill(0);
{ beginShape(); //siyah dikd. en üst
vertex(335,79);
vertex(359,89);
vertex(354,101);
vertex(328,91);
endShape(CLOSE);}
{ beginShape(); //siyah dikd. ince
vertex(76,400);
vertex(164,391);
vertex(164,395);
vertex(75,407);
endShape(CLOSE);}
{ beginShape(); //siyah dikd. 2
vertex(177,169);
vertex(288,187);
vertex(287,193);
vertex(174,177);
endShape(CLOSE);}
{ beginShape(); //siyah dikd. 3
vertex(158,207);
vertex(335,233);
vertex(330,253);
vertex(155,223);
endShape(CLOSE);}
{ beginShape(); //siyah dikd. 4
vertex(153,411);
vertex(339,384);
vertex(341,401);
vertex(156,431);
endShape(CLOSE);}
{ beginShape(); //siyah dikd. 5
vertex(186,484);
vertex(334,455);
vertex(337,469);
vertex(189,499);
endShape(CLOSE);}
{ beginShape(); //siyah dikd. 6
vertex(235,489);
vertex(310,474);
vertex(310,480);
vertex(236,498);
endShape(CLOSE);}
//SARILAR
drawingContext.shadowOffsetX = 5;
drawingContext.shadowOffsetY = 5;
drawingContext.shadowBlur = 6;
drawingContext.shadowColor = 'rgba(0.3, 0, 0, 0.3)';
fill(248,193,2);
{ beginShape(); // sarı ince
vertex(134,237);
vertex(162,240);
vertex(161,244);
vertex(135,242);
endShape(CLOSE);}
{ beginShape(); // sarı büyük
vertex(112,440);
vertex(371,395);
vertex(381,447);
vertex(120,495);
endShape(CLOSE);}
{ beginShape(); // sarı 3.
vertex(296,601);
vertex(368,570);
vertex(371,574);
vertex(299,607);
endShape(CLOSE);}
//MAVİLER
fill(11,83,157);
let moveZ = sin(frameCount * 0.03) * 20;
{beginShape();
for (let v of maviUstVertices) {
vertex(v.x + moveZ, v.y);
}
endShape(CLOSE);
}
{beginShape();
for (let v of maviAltVertices) {
vertex(v.x + moveZ, v.y);
}
endShape(CLOSE);
}
}