Infinidecimal Canvas is a Processing Library numeric canvas that stores the image as a number array to create visuals with arbitrary ranges.
Infinidecimal maintains an array of numbers to represent the canvas. It uses "intensity" to represent color. This way, the color resolution and range is as high as the resolution and range of a floating-point number.
Infinidecimal is tested in Processing v3.5.4 on macOS Mojave and v3.5.3 Windows 10 Pro
When working with 8bits, there are certain limitations (well, 8 bits, to be precise) to the opacity and color resolution. This is especially limiting when you want to create visuals by drawing transparent object on top of each other. Infinidecimal Canvas is a solution for this problem.
The image below shows 99,999 lines drawn on each other. First one is drawn by processing's line function, at 1 / 255 opacity. The second image is the output of Infinidecimal. The third pane shows some of the values from Infinidecimal's intensity array.
The anti-aliased, thick line drawing algorithms (namely for line, quadratic bezier, quadratic rational bezier, cubic bezier and ellipse) are all taken directly from Alois Zingl's bresenham implementation, available here.
Add contributed Libraries by selecting the menu item Sketch → Import Library... → Add Library... This will open the Contribution Manager, where you can browse for GR Infinidecimal Canvas, or any other Library you want to install.
Not all available Libraries have been converted to show up in this menu. If a Library isn't there, it will need to be installed manually by following the instructions below.
Contributed Libraries may be downloaded separately and manually placed within the libraries
folder of your Processing sketchbook. To find (and change) the Processing sketchbook location on your computer, open the Preferences window from the Processing application (PDE) and look for the "Sketchbook location" item at the top.
By default the following locations are used for your sketchbook folder:
- For Mac users, the sketchbook folder is located inside
~/Documents/Processing
- For Windows users, the sketchbook folder is located inside
My Documents/Processing
Download GR Infinidecimal Canvas from http://rect.dev/infinidecimal
Unzip and copy the contributed Library's folder into the libraries
folder in the Processing sketchbook. You will need to create this libraries
folder if it does not exist.
The folder structure for Library GR Infinidecimal Canvas should be as follows:
Processing
libraries
GR Infinidecimal Canvas
examples
library
GR Infinidecimal Canvas.jar
reference
src
Some folders like examples
or src
might be missing. After Library GR Infinidecimal Canvas has been successfully installed, restart the Processing application.
If you're having trouble, have a look at the Processing Wiki for more information, or contact the author C. Sina Cetin.