Image convolution visualizer

In the field of image processing, the application of convolution matrices to images stands as a cornerstone technique. This post focuses on illustrating this process through an interactive visualization, utilizing the Quadrille filter method alongside custom display functions. The visualization aims to clarify how various masks affect individual pixels in a source image, making the intricate process of image convolution more comprehensible. By offering an interactive experience, it sheds light on the significant impact these matrices have on digital images, providing a deeper insight into a key image manipulation method....

November 23, 2023 · 11 min · Theme PaperMod

Chess Pattern Recognition

Harnessing the art of chess pattern recognition—emphasized by experts, among them Grandmaster Jonathan Rowson in “The Seven Deadly Chess Sins”—the demonstration below utilizes the powerful quadrille search method to identify key tactical patterns on the provided board, given in FEN notation. These patterns, which encompass maneuvers like knight forks where a piece simultaneously threatens multiple opponent pieces, can decisively influence the game’s dynamics. The p5.quadrille.js library aids players in detecting and adeptly deploying these patterns, thereby refining gameplay and strategic decision-making on the chessboard....

October 10, 2023 · 4 min · Theme PaperMod

Game of Life Texturing

Before diving into development, thoroughly reading the Quadrille API documentation is key to efficient coding, preventing mistakes, and ensuring optimal performance. By acquainting yourself with the API’s nuances, you set the stage for informed decision-making, seamless collaboration, and a smoother development journey. The following demo illustrates the game of life using a pentadecathlon pattern as its initial seed, rendered as a surface texture on p5 3D shapes in WEBGL mode:...

October 8, 2023 · 4 min · Theme PaperMod

GPU-based Photomosaic

This demo visualization shows a photomosaic (& videomosaic) implemented in hardware: (press r to randomly pick another painting) Strategy A palette is built in software, comprising an array of paintings sorted in ascending order based on a selected lightness metric as the sorting criterion. The low-resolution texel produced by the pixelator (specifically, texture2D(source, stepCoord)) is then employed as a lookup key to sample the palette during the rendering of the mosaic tiles within the fragment shader....

September 2, 2023 · 2 min · Theme PaperMod

Streamlining Minesweeper

In object-oriented programming (OOP), maximizing API use streamlines development, leading to simpler and more concise code. This clarity not only improves readability but also eases debugging. Leveraging an API effectively in OOP thus ensures a blend of simplicity, efficiency and maintainability in software development. This demo (partially) implements the minesweeper video game using the p5.quadrille.js API to instantiate and handle two quadrilles: a board and a mask. The former embodies the game board, while the latter covers it....

August 31, 2023 · 3 min · Theme PaperMod