The pieces that I create are not generated by AI, even though I refer to them as generative art. My works are generated by code that I write.
5 circles are drawn so that they intersect at 2 points, with 1 of those points lying on a central circle. Connecting the intersection points that do not lie on the central circle forms a pentagram.
openprocessing.org/@speters/302...
#p5js #mathober #mathober7
5 circles are drawn so that they intersect at 2 points, with 1 of those points lying on a central circle. Connecting the intersection points that do not lie on the central circle forms a pentagram.
openprocessing.org/@speters/302...
#p5js #mathober #mathober7
A connected topology describes a space where any two points can be travelled between without leaving the space.
This starts with a convex hull surrounding a region of points which shrinks inward.
openprocessing.org/@speters/302...
#p5js #mathober #mathober6
A connected topology describes a space where any two points can be travelled between without leaving the space.
This starts with a convex hull surrounding a region of points which shrinks inward.
openprocessing.org/@speters/302...
#p5js #mathober #mathober6
Each triangle has an inscribed ellipse, known as an inellipse.
In this sketch, a Delaunay triangulation is drawn, along with the corresponding inellipses.
openprocessing.org/@speters/302...
#p5js #mathober #mathober5
Each triangle has an inscribed ellipse, known as an inellipse.
In this sketch, a Delaunay triangulation is drawn, along with the corresponding inellipses.
openprocessing.org/@speters/302...
#p5js #mathober #mathober5
and then a p5 sketch: codepen.io/editor/fract...
and a desmos: www.desmos.com/calculator/b...
and then a p5 sketch: codepen.io/editor/fract...
and a desmos: www.desmos.com/calculator/b...
A linear recurrence is a sequence which is generated by summing together previous values, similar to the Fibonacci sequence, but can also involve coefficients.
openprocessing.org/@speters/302...
#p5js #mathober #mathober4
A linear recurrence is a sequence which is generated by summing together previous values, similar to the Fibonacci sequence, but can also involve coefficients.
openprocessing.org/@speters/302...
#p5js #mathober #mathober4
A permutation list is made up of all the unique permutations of a string or similar collection, in this case "permutation".
There are 11! / 2! unique permutations, from "aeimnoprttu" to "uttrponmiea"
openprocessing.org/@speters/302...
#p5js #mathober #mathober3
A permutation list is made up of all the unique permutations of a string or similar collection, in this case "permutation".
There are 11! / 2! unique permutations, from "aeimnoprttu" to "uttrponmiea"
openprocessing.org/@speters/302...
#p5js #mathober #mathober3
The zebra is a fairy chess piece that moves similar to a knight, but moves 2 by 3 instead of 1 by 2.
Alternating sets of zebra graphs are arranged on a chess board pattern.
openprocessing.org/@speters/302...
#p5js #mathober #mathober2
The zebra is a fairy chess piece that moves similar to a knight, but moves 2 by 3 instead of 1 by 2.
Alternating sets of zebra graphs are arranged on a chess board pattern.
openprocessing.org/@speters/302...
#p5js #mathober #mathober2
An ellipse does not have a simple formula for its perimeter. While there are many approximations and calculus-based methods, I approximated the perimeter by using a polygon.
openprocessing.org/@speters/302...
#p5js #mathober #mathober1
An ellipse does not have a simple formula for its perimeter. While there are many approximations and calculus-based methods, I approximated the perimeter by using a polygon.
openprocessing.org/@speters/302...
#p5js #mathober #mathober1
Typically I avoid using shaders. Something about the process just doesn't click with me. Experimenting for this piece I found that I could process an image extremely quickly.
Here a webcam image is modified to resemble a CRT display with NES style rendering.
#genuary #p5js
Typically I avoid using shaders. Something about the process just doesn't click with me. Experimenting for this piece I found that I could process an image extremely quickly.
Here a webcam image is modified to resemble a CRT display with NES style rendering.
#genuary #p5js
A standard flocking simulation, but with variable alignment, cohesion, and separation scaling. Sometimes they even go into the negative, indicated by changing background colour. Feature, not a bug.
#genuary #p5js
A standard flocking simulation, but with variable alignment, cohesion, and separation scaling. Sometimes they even go into the negative, indicated by changing background colour. Feature, not a bug.
#genuary #p5js
Using a genetic algorithm series of points are triangulated and coloured a match a photograph. Features from the best are combined and mutated.
Original photo and end result are in the thread.
#genuary #p5js
Using a genetic algorithm series of points are triangulated and coloured a match a photograph. Features from the best are combined and mutated.
Original photo and end result are in the thread.
#genuary #p5js
Using only vanilla JS, a grid of DIV elements are created and their colours changed by editing the style property.
#genuary #html #JavaScript
Using only vanilla JS, a grid of DIV elements are created and their colours changed by editing the style property.
#genuary #html #JavaScript
Reaction–diffusion reaction. This is an extremely speed up recording of the process. End renders in the thread.
#p5js #genuary
Reaction–diffusion reaction. This is an extremely speed up recording of the process. End renders in the thread.
#p5js #genuary
Instead of going with a nice recursive rectangular grid I decided to go with triangles. Overall I really like the effect and will likely go back revisit it in future pieces.
#genuary #p5js
Instead of going with a nice recursive rectangular grid I decided to go with triangles. Overall I really like the effect and will likely go back revisit it in future pieces.
#genuary #p5js
Circular cells are grown and divided to somewhat mimic cell division. Marching squares and a lot of transparency add to the growth effect.
#genuary #p5js
Circular cells are grown and divided to somewhat mimic cell division. Marching squares and a lot of transparency add to the growth effect.
#genuary #p5js
Using randomGaussian() to introduce some small variance, what should be a perfectly aligned set of crosses becomes a perfectionist's nightmare.
#genuary #p5js
Using randomGaussian() to introduce some small variance, what should be a perfectly aligned set of crosses becomes a perfectionist's nightmare.
#genuary #p5js
255 transparent triangles move over slightly different paths creating areas of colour where they overlap.
The video encoding seems to get sluggish for some reason. I tried recording it several different ways without much improvement.
#genuary #p5js
255 transparent triangles move over slightly different paths creating areas of colour where they overlap.
The video encoding seems to get sluggish for some reason. I tried recording it several different ways without much improvement.
#genuary #p5js
Designed as an SVG, several non-intersecting paths are drawn avoiding random circular areas.
I'm not sure how well it would actually plot out as the closest thing I have to a plotter is an old Circut machine.
#genuary #p5js
Designed as an SVG, several non-intersecting paths are drawn avoiding random circular areas.
I'm not sure how well it would actually plot out as the closest thing I have to a plotter is an old Circut machine.
#genuary #p5js
A minimal Bauhaus style poster. The circular pattern was made using blendMode(DIFFERENCE)
#genuary #p5js
A minimal Bauhaus style poster. The circular pattern was made using blendMode(DIFFERENCE)
#genuary #p5js
Maybe the most important line at the moment.
The main border between Canada and the USA is recreated using GPS coordinates mapped to the canvas. To keep it to a single line, the border separating Alaska and the Atlantic ocean portions are ignored.
#genuary #p5js
Maybe the most important line at the moment.
The main border between Canada and the USA is recreated using GPS coordinates mapped to the canvas. To keep it to a single line, the border separating Alaska and the Atlantic ocean portions are ignored.
#genuary #p5js
A 16 x 16 grid is generated and filled with random colours quantized in steps of 16. The result is expanded to a full canvas creating a ghosted blur over the original grid.
#genuary #p5js
A 16 x 16 grid is generated and filled with random colours quantized in steps of 16. The result is expanded to a full canvas creating a ghosted blur over the original grid.
#genuary #p5js
A particle travels in a straight line but turns whenever a prime number of steps has been taken.
For extra geekiness, prime numbers are used for values in the code, such as 11 degree turns and colours which have prime red, green, and blue components.
#genuary #p5js
A particle travels in a straight line but turns whenever a prime number of steps has been taken.
For extra geekiness, prime numbers are used for values in the code, such as 11 degree turns and colours which have prime red, green, and blue components.
#genuary #p5js
I kept it simple here, making a generator for p1 and p2. Random patterns are drawn, rotated, and translated, to maintain symmetry.
#genuary #p5js
I kept it simple here, making a generator for p1 and p2. Random patterns are drawn, rotated, and translated, to maintain symmetry.
#genuary #p5js