DocsHow to QQLThe QQL Ring

The QQL Ring

BY HEEEY

Rings are the core visual elements of QQL. All QQLs are made of a series of (often) different colored rings which are positioned one next to the other following invisible paths, also known as flow fields, in order to create the composition.

Depending of which traits are selected, rings may render in different sizes, thicknesses and structure, but what they all have in common is that they are made of a series of slightly displaced concentric circles.

QQL #307
QQL #307
QQL #313
QQL #313

Structure

Ring is the term that both the “parametric artists community” and the QQL website’s trait selector use when referring to the individual visual elements of QQL, but the underlying complexity of “rings” hides layers of sub-components that are not so obvious.

In order for a ring to be rendered, multiple pieces of data must come together in the form of a point. This data includes the position, size, color, and structure, as well as other information that helps preserve the spacing in between rings and (typically) prevents collisions.

A bullseye is what determines the composition of a ring, namely the number of bands in a ring and the ring’s density. Bands are the concentric circles that have a bit of space in between them. A ring may contain anywhere from one to seven bands.

0xe25ecd59478ce509232e37c2e0810fd4c655b8b480974378fdcbffff15486a11 seed by Heeey
0xe25ecd59478ce509232e37c2e0810fd4c655b8b480974378fdcbffff15486a11 seed by Heeey
0xe25ecd59478ce509232e37c2e0810fd4c655b8b40ebfdfb9747bffff10e8cd33 seed by Heeey
0xe25ecd59478ce509232e37c2e0810fd4c655b8b40ebfdfb9747bffff10e8cd33 seed by Heeey

Depending on the size and thickness, a band itself is actually made up of a variable number of circles of variable thicknesses. When these circles are drawn together, they give the appearance of a single, slightly irregular band.

Finally, the circles are not exactly circles, but actually a linked sequence of concatenated strokes. These strokes make up the sides of an n-sided regular polygon, where sides always have the same length, and where the number of sides depends on the diameter of the circle. The smallest possible rings are rendered using octagons, while the largest have thousands of segments.

Thickness & Texture

0x9380da47618d355a9eec7a2ec37e50c2df9bca6bbc3857ee2294ffff14960348 seed by KREG
0x9380da47618d355a9eec7a2ec37e50c2df9bca6bbc3857ee2294ffff14960348 seed by KREG
0xb630abd9a5367763b7cba316e870c4a54064cc9ff164587af295ffff12e1cc40 seed by mikegee
0xb630abd9a5367763b7cba316e870c4a54064cc9ff164587af295ffff12e1cc40 seed by mikegee

The ring thickness and spacing between bands may vary a lot from ring to ring, making it possible for very different types of rings to emerge. This variety is particularly visible with mixed-thickness settings, where a single seed may contain a diversity of ring styles all within a single composition.

Rings with three or seven bands are always rendered to fill all of their point’s space, leaving only a minimal empty bullseye at the center (which may be slightly larger when the rings are thin). However, single-band rings only follow this max-thickness rule up to a certain size. Any single-band ring that’s larger than 4% of the canvas width has a larger hole at the center, and the thickness ratio diminishes as the ring grows larger.

Although there is always at least some spacing between bands, seeds that use thick rings and the "Stacked" color mode may generate rings that appear solid at first glance. Upon closer inspection, we can see that those rings with similar stacked colors still appear monolithic with very small spacing, while those with different colors exhibit more distinct boundaries and can more clearly display the separation between rings, with the ring’s appearance softening, darkening or mixing depending on the colors used.

0x039cd535c7d3bcb04e93ad44491b30185ee0a4c5a4de18e0ef69ffff12a56335 seed by Sim
0x039cd535c7d3bcb04e93ad44491b30185ee0a4c5a4de18e0ef69ffff12a56335 seed by Sim
QQL #178
QQL #178

Thin rings generate lighter seeds. In large rings, the extra emptiness between bands makes this white space very visible. In tiny-thin-ring seeds a very interesting effect happens: rings become an evolving-color texture that’s light and airy, where the actual color of the ring mixes with the background, tinting it ever so slightly. This occurs because, despite being solid, the space the rings occupy is actually a very small percentage of the surrounding canvas, which allows the background color to prevail.

Under “normal” circumstances rings don’t intersect with each other. Even in some seeds where different paths cross and seem to clash, there is still some minimal separation between rings. There is one exception, though. In “stacked” color mode, two layers of rings are painted on top of each other. Each ring has a counterpart that is drawn beneath it. There is also some deviation that can make the bottom rings be slightly shifted down or to the side. This deviation is variable and can oscillate from minimal to slightly noticeable, but is fixed throughout a seed.

0x70e7ee4dbbf6f91ef363cd701f4b98b70ec1ba5218738b67842cffff10512105 seed by Jonathan Marcus
0x70e7ee4dbbf6f91ef363cd701f4b98b70ec1ba5218738b67842cffff10512105 seed by Jonathan Marcus
0x34a2438811b7dd3d14aca7f31542d4666e4c37eaefca2cc316edffff10e2ca0b seed by smolhead
0x34a2438811b7dd3d14aca7f31542d4666e4c37eaefca2cc316edffff10e2ca0b seed by smolhead

In small-ring seeds, this deviation happens in the maximum way (in relation to the ring size), and ring overlap may happen. This overlap may manifest in two different ways. The first kind happens when same-size (and sector) rings are drawn closer together than their stacked deviation. This results in a continuous grid of chained rings. The other kind of overlap happens when rings of different sizes are drawn close by. Because of how the algorithm works, a group of rings of the same size are drawn first, and then another group of rings of a different size is drawn immediately after. When this happens in combination with stacked rings and a large deviation, the bottom rings that are drawn in the later phase may fall on top of the top rings from a previous phase, and vice-versa.

Size & Position

One of the key compositional elements in QQL that gives the artwork a vast possible visual output range is ring size. Several traits, namely “ring size”, “size variety” and “margin” all affect how small or large rings can be in any given seed.

Rings have a slight possibility of being assigned a tiny radius. As long as the radius is larger than 0.08% of the canvas width, it will be rendered. Really small rings no longer look like rings to the naked eye, but tend to be perceived like dense lines of color. However, the rings are still there, and rendering a seed with super high resolution makes the rings visible. When rings have a radius below the 0.08% threshold, they don’t even get rendered, which gives the chance for large white space areas to arise, creating novel and interesting shapes. It is even possible for an empty seed to appear, where all rings in the seed are below the size threshold for being rendered.

On the opposite side of the spectrum we find large rings. Rings that are a bit larger than the canvas width can render as long as they are centered horizontally on and the margin was set to “None”.

Rings may have a center that is off of the canvas, sometimes resulting in only a sliver of the ring being shown. However, the algorithm only draws rings where no side of the ring is more than 5% beyond the edge of the canvas. This prevents large rings from being centered off-canvas.