malee31 /
JSCanvas
A JavaScript library that makes canvas animation and creating games in JavaScript easier.
Loading repository data…
StoneT2000 / repository
A website that helps make/generate poly art with an uploaded image.
A web applet that helps generate poly art using an uploaded background image.
A working link to this program is provided here https://stonet2000.github.io/Polytomizator
Or... (the following is less recommended as it takes longer and was really done because I was learning how to use Electron, npm etc.)
You can clone and run this repository through npm. You will need Git and Node.js installed however. Using your command line (e.g Terminal on Mac OSX), run
# To clone this repository
git clone https://github.com/StoneT2000/Polytomizator.git
# Then to enter the repostory
cd Polytomizator
# Install dependencies and start up the app
npm install && npm start
To compile this into an app run
# Download all app distributions
npm run build
# Mac OSX
npm run build:osx
# Windows
npm run build:win
# Linux
npm run build:linux
Or if you want to skip all this techy stuff, head over to the releases page to download the latest version. This is built with Electron.
Vertices stored in a hash map for quick searches (allows for far faster erasing of vertices)
Delaunay Triangulation algorithm generates triangles from vertices. The program finds the average color of all pixels within each triangle and stores into an array for colors. The program then runs a loop through all the triangles and displays the triangles and their corresponding colors.
First, an off-screen canvas is made with p5. That canvas is then enlarged, and the coordinates of all the triangles are all scaled upwards, creating larger triangles. Then the enlarged canvas is downloaded.
The SVG file is created by creating a file with the proper SVG formatting. The program goes through all the triangle vertices and their colors to create an SVG file (primarily using the <polygon ... /> tag. Allows users to import these shapes into a program that parses SVG files.
Algorithms run are done on a separate thread using web-workers, allowing for a nice loading screen to be displayed.
Edge detection algorithms created through the convolution of a 3x3 smoothing kernel and 3x3 edge detection kernel. The kernels create a photo where edges are bright, which are detected by scanning through the entire array of pixels and for those that are bright, an 'edge' vertex is placed at its position. Then a for loop is run through the detected edge vertices in order of decreasing brightness, and vertices around the detected edge vertex are erased, a form of Poisson disk sampling.
Then some filler vertices are placed randomly around the canvas.
Once scanned and filtered with edges detected, it doesn't need to be run again unless a new image is put up or if the canvas is resized.
In general, a combination of edge detection methods and some vertex filtering functions help create neat looking poly art.
Many thanks to @Vince14Genius and many others as well for giving suggestions and great feedback.
Selected from shared topics, language and repository description—not editorial ratings.
malee31 /
A JavaScript library that makes canvas animation and creating games in JavaScript easier.
MatiasGonta /
minDDraw is a drawing website which allows users to unleash their creativity and create digital works of art. The project provides a user-friendly interface with a toolbar at the top that includes various drawing tools like shapes, colors, and more. It has a canvas where users can draw, and at the bottom there are two buttons: one to completely cle
helvete003 /
A lightweight JavaScript library that renders retro-style ASCII art borders around HTML elements using a `<canvas>` overlay. Inspired by old CRT monitors and terminal aesthetics, it gives websites a nostalgic green-on-black phosphor display look.