Celebrating the joy and vibrancy of Carnival

Folia example image

Project information

Folia will be launched on on Nov. 30th, 2023 at 5pm UTC. The project page can be accessed here.

  • Size: 256
  • Price: Ξ 0.025

Why Folia?

Folia is the Portuguese word for revelry, a joyful and noisy celebration. In Brazil, folia is mainly used to refer to Carnival as people take part in vibrant gatherings, wearing colorful costumes and dancing lively rhythms like Samba, Frevo, Axé Music and many others. This collection tries to capture that spirit with vibrant color palettes and shapes that give a feeling of movement. The organic patterns resemble the costumes and decorations associated with this festivity.

Design strategy

Folia is built by sequentially dividing a base rectangle with several shapes. These divisions gives rise to sub-shapes that are filled with solid colors or patterns. The video below illustrates that process.

There can be up to three shapes sets. Some shapes are drawn through flow fields which use perlin noise or simpler mathematical formulas that I have created. Basic shapes like circles, squares and triangles are also used and are arranged according to circle packing, quadtree and triangle subdivision algorithms, respectively. The possible combinations for the three shapes sets are:

  • Flow field and circle/mix* packing
  • Two flow field sets and circle packing
  • Flow field, quadtree and circle packing
  • Flow field and concentric circles
  • Concentric circles and triangletree (triangle subdivision)
  • Rays**, quadtree and circle packing

* Mix packing is a circle packing algorithm using circles and squares.
** Rays is a set of triangles with one common vertice for all of them.

The images below show some examples how the different shapes set look like.

Flow field and circle packing
Flow field and circle packing
Two flow fields and cicle packing
Two flow fields and cicle packing
Flow field, quadtree and circle packing
Flow field, quadtree and circle packing
Flow field and concentric circles
Flow field and concentric circles


The following algorithms are used to build the patterns:

  • Circle packing
  • Poisson disk sampling
  • Uniform and gaussian distribution
  • Voronoi diagram
  • Multi-scale truchet patterns


There are a total of 9 color palettes in this project. All of them very vibrant and colorful to do justice to the name of this collection.

  • Whimsical
  • Spring Garden
  • Circus
  • Sunburn
  • Dreamscape
  • Meadows
  • Evening Bloom
  • Crimson Twilight
  • Ruby

Third-party code

This project use the following code or idea that were not created by myself.

  • Paper.js library (v0.12.17)
  • Perlin noise from Yuri Artiukh, based on example code by Stefan Gustavson
  • Javascript Voronoi from Raymond Hill, based on Steven J. Fortune's algorithm
  • The multi-scale truchet patterns were based on this paper from Christopher Carlson