top of page


A generative art project by juanrg92

  • Instagram
  • Twitter

Encuentros is an art project made for the Ethereum blockchain. If accepted, this project will be hosted on the artblocks platform. Each unique artwork is generated through a hexadecimal numeric system made from generating a new token. [1]

The project is built with two grid schemes, one that remains static and another in a polygon series that are created by a grid of points. Polygons travel from the canvas [2] and are affected by a combined flowfields algorithm with a 2d isosurfaces algorithm [3]. The relationship between these static and flowing elements are exemplary of the artist’s practice: exploring creations that start with fundamental concepts and using code as a tool of creation and expression.

The title Encuentros was chosen to encapsulate the relationship between geometry and organic flows, generating visual elements and geometric forms that go from the figurative to the abstract. This representation comes from the encounter of art and technology, from the encounter between complex systems and fundamental concepts of design, and from the fact that every meeting or encounter produces new meaning.

This generative art project is created with code using the p5.js JavaScript library, made by Lauren Lee McCarthy.



Grids give underlying structure to the project and inform the interactions on the canvas that produce the final composition. As mentioned above, the project is made with two grids series, a static grid and another grid of points that travels across the canvas.


The decision to have two grids is mainly to have organized compositions; and starting from this point to be able to combine parameters to iterate based on the two initial grids.

In the next section, the composition of both grids as well as different parameters that interact and the final compositions are explained.


This points grid is made with two kinds of locations on the canvas


The first kind consists of a dot series located at random, but without overlapping and the only parameter that is random according to the total amount of points in the canvas.


Rectangular Grid

The second kind of placement is made from a rectangular grid. Sometimes the grid is completely ordered, or it may change its location (x, y) in a synchronized way or individually, and it may also change different kinds of grids.


1.- This grid is made of one 4×4 composition and it is determined by an “ordered” parameter and refers to each location in the grid, it is kept according to the given locations by the created initial grid.


2.- This grid is made of one 4×4 composition and it is determined by a “non-ordered” parameter, and it refers to the locations from the initial grid that are altered by random values in its horizontal and vertical axis “x, y”.


3.- This grid is made of one 3x3 composition and is determined by a “non-ordered X” parameter and it refers to the locations from the initial grid that are altered by random values in its horizontal axis “x”.


4.- This grid is made of one 3x3 composition and is determined by a “non-ordered Y” parameter and it refers to the locations from the initial grid that are altered by the random values in its vertical axis “y”.

This grid’s final series will remain static, is the location from the final geometric that keeps parameters that will be modified according to the related or found geometric.


The static grid informs the location of black and white dots of varying sizes. Because of the imaginative similarity and how some viewers perceived the grid, this element is called “eyes”.




This grid of polygons is also made from a series of points placed on the canvas and divided into two sections.

Polygon location grid

This kind of location is generated through trigonometric functions to be able to get the result from the polygonal geometric vertices, in this specific case the 2, 3 and 4 vertices are used referring to the line, the triangle and the square. These locations also interact with different parameters that modify their scale and initial position to make a variety of interactions.


Totem grid location

These locations are determined by a fixed dots series in a vertical line, hence the name, and affected mainly by its position on the x-axis.


1.- grid built with 1x3 composition and is determined with the parameter “ordered”.


2.- grid built with 1x4 composition  and is determined with the parameter “ordered”.


3.- grid built with a 1x3 composition  and is determined by the parameter “non-ordered”.


4.- grid built with a 1x4 composition and determined with a parameter “non-ordered X”.

Rectangular grid location

These locations are determined from a rectangular grid that interacts with different parameters to modify their axis (x, y).


1.- grid determined by “ordered” parameter



2.- grid determined by “non-ordered” parameter



3.- grid determined by “non-ordered X” parameter



4.- grid determined by “non-ordered Y” parameter


The second stage is built by making polygons through a series of dots that start from the location previously mentioned. There are only 2 kinds of geometry made starting with points, the triangle and square. Points along these geometries are then influenced by flowfield parameters and are allowed to move along the canvas.


Encuentros (flowfields + isosurfaces)

This encounter between the flowfield operations and the geometry will produce the final generative composition.

Flowfield algorithm

Although flowfield algorithms are common in generative art, the artist has incorporated flowfields in an intuitive and experimental way. Sometimes only combining expressions, testing other elements or code parts with the main algorithm in the flow fields.


The established fields for meeting geometries (the static grid and the one which is moving) are represented in a code as “tide” and “turbulence”.


These two parameters determine the behavior of the flowfield and allows the artwork to produce imaginative and abstract compositions.


The tide parameter is built with a flowfield scheme, which is affected and modified by meeting with the geometric and the static grids.



This parameter is made with the relation between the flowfields, having as a result a thicker composition being shown as a turbulence.


Encounter Intensity

Both flowing schemes (tide and turbulence) are modified by the relationship and meeting with the static geometry (eyes) which start from the combination of flow field algorithm [2] with an isosurface algorithm [3], giving different properties of intensity between the meeting of the geometries.

Sin título-2.jpg



The use of color has been an important feature for the artist, and his works are recognized by the selection, combination, and use of color.

Nine color palettes were created for this project inspired by living beings, places, people, feelings, and sensations.

Background and final composition

The canvas background is determined by a random color selected from the initial color palette, creating different thickness for the final artwork. The color palette as well as all work properties, are defined in a code by the creation hash code.

The background also has different lines which are expanded from the perimeter of the created polygons. The static grid (eyes) is part of the final composition regarding the selection of color.


Color palettes

Here the intention and where they come from is explained as it was mentioned before color pallets are the combination among living things and intuition from the artist.



A reference to the Mexican object Alebrije. Alebrijes are made with imagination and combination of animals and randomly selected colors by the artist; great imagined, not real creatures. This refers to the geometry work and color by the artist using colors chosen through interactions and intuitions over a determined pattern. [4]



This palette is inspired by the Mexican architecture of Luis Barragan. Architecture where the color is a main feature and generates the experience and feelings of space. [5]



This palette begins with basic colors in a conceptual scheme, referring to the basic and fundamental beginning, and how through different combinations it can produce different results.



This palette is inspired in the great variety iconography and the colors of the subway in Mexico City. [6]


Downtown Veracruz, Ver, Puebla

These three palettes are inspired in the colors from the cities where the artist has lived. Getting geometric inspiration, colors, and ideas from different elements like, downtown, the ports, people, feelings, sensations and living things that these two cities produce in the artist.


Sea, hot weather

These two palettes are inspired in the sea and the feeling of freedom produced near a body of water. It is about the relationship between the artist with the sea and the city where he was born.


Color and polygons

The color assignment in the polygons follows a basic premise (except in the "color0 scheme", explained later in the "color schemes"), assigning the color according to the sides of the polygons, generating combinations of 3 and 4 colors from the initial palette


Color palettes (not final)

Here is shown each of the previously described palettes, it is important to mention that though they are shown with the geometric final displacement and scheme, they do not represent the final use of color, this will be explained and represented in the next section.

Sin título-1.jpg

Color Schemes

In this last section, the final geometric and color composition will be presented. For this, it is important to describe the different uses and color combination schemes and used palettes for the project.



There are two possibilities regarding the initial palette selection. It can be in a natural way, selecting only one palette and using it within the general composition of the piece or it can also be the result of the combination of two colors palettes. 

Scheme color 0

This scheme allows for changing color constantly by the program frames, while the program runs.

Sin título-2.jpg

Scheme color 1

This scheme selects an initial color palette to give each face of the polygon, therefore while the flowing points move the initial palette starts to change according to the behavior from the points, finishing with another color selection from a new palette.

Sin título-2.jpg

Scheme color 2

This scheme begins in the same way as scheme color1, selecting colors according to the initial palette and the geometry presented, finishing with only one selected color from a different palette than the initial one.

Sin título-2.jpg

Scheme color 3

This scheme begins with the main properties like the previous ones according to the initial color selection. Finishing in the same color palette arranged differently from the start.

Sin título-2.jpg

Scheme color 4

This scheme keeps the same properties from scheme color1, ending with other colors selection from the initial palette.

EsquemaColor 4.jpg
Sin título-2.jpg

Scheme color 5

This scheme keeps the same properties from scheme color2, finishing with the background color from the work.

Sin título-2.jpg

Scheme color 6

This scheme retains the same properties of the color3 scheme, but finishes with a different color palette.

Sin título-2.jpg

Scheme color 7

This scheme retains the same properties of the color0 scheme, finishing in the same color palette but arranged with each face of the polygon getting its own color.


Scheme color 8

In this scheme the polygons start with the same background color and finishing in a different color for each polygon, selected from a different color palette than the initial one.

Sin título-2 (2).jpg

Final outputs 



This document presents a description and explanation of the general concepts behind the Encuentros project.

The artist says that any person that does not have any prior knowledge with programming can use this guide to better understand the project.


Juan Rodríguez García (@Juanrg92) is a generative artist. His work explores design concepts and programming through technology and code as a tool of creation and expression. He teaches classes in creative coding at Iberoamericana University in Puebla and has worked and collaborated with different universities and cultural spaces in Latin America talking about code, art, and technology.


Thank you, Jeff Davis, Sarah Rossien and all the team as well as the community of artblocks to consider my application and the push to the generative art. To cyberia for the received comments to my project to improve it, for the talks with him about the interesting topics; but mainly I appreciate his friendship; to Aaron Penne for being patient and a guide to share his knowledge with me about these projects and the artblocks platform. To the artists community and people from processing and p5.js around the world.


To my mom, my grandparents, to my whole family and friends for their priceless support, this project is thanks to all of you.













bottom of page