Piękno geometrii

Potraktujmy stronę internetową jako płótno malarskie, kanwę, na której namalujemy jakąś kompozycję złożoną z figur geometrycznych.

Inspiracją będzie malarstwo Ellswortha Kelly'ego, amerykańskiego artysty, w swoich pracach często nawiązującego do kierunku abstrakcji geometrycznej.



Przygotujmy kanwę <canvas>, na której namalujemy nasze obrazy:

<canvas id = "canvas"></canvas>

Przykładowy styl kanwy w pliku CSS:

#canvas {
   width: 500px;
   height: 500px;
   position: absolutne;
   left: 10%;
   top: 10%;
   background-color: #F8F5EE;
   border: 15px solid #F5F5F5;
}
 
W pliku HTML wywołamy funkcję rysującą draw():

<script>draw()</script>

której zapis będziemy zmieniać w zależności od tego, co chcemy namalować na kanwie.

A oto cały, bardzo uproszczony szkielet naszej strony HTML:

<html>
   <head>
      <link rel = "stylesheet" href = "style.css> 
   </head>
   <body>
      <canvas id = "canvas"></canvas>
      <script src = "script.js"></script>
      <script>draw()</script>
   </body>
</html>

Ellsword Kelly, Linia pionowa:


Zakodujemy teraz podobny obraz w funkcji draw() w pliku JavaScript:

var canvas = document.getElementById('canvas'); // odniesienie do Id elementu canvas
var ctx = canvas.getContext('2d'); /* odniesienie do kontekstu elementu canvas w dwuwymiarowej przestrzeni rysowania */

var draw = function(){
   // metoda fillRect() rysuje prostokąt wypełniony kolorem:
   ctx.fillRect(200,0,4,200);
}

A oto efekt działania kodu:



Ellsword Kelly, Pasmo poziome


Wypełnimy płótno większą liczbą prostokątów, wykorzystując pętlę:

var draw = function(){
   for(i = 0; i < 290; i++) {
      ctx.fillRect(i; 0; 2; 200);
      i += 10;
   }
}

Efekt końcowy:

Zmiana kształtu, wielkości, położenia i kolorów bryły da nam nowe kompozycje. Powyższe przykłady to jedynie inspiracje, zachęcam do eksperymentowania z kodem i uruchomienia własnej artystycznej wyobraźni.





Komentarze

Popularne posty