k-means clustering is a method of vector quantization, originally from signal processing, that aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean (cluster centers or cluster centroid), serving as a prototype of the cluster. This results in a partitioning of the data space into Voronoi cells.
Read MoreThis Processing sketch loads two images and creates an image mask that blends them together. The transparency of the image mask is determined by 4D Open Simplex Noise, which loops perfectly.
Read MoreIn this sketch I turned every pixel of an image into a Lorenz System. I mapped the velocity of that system to the brightness value of the pixel. This was the result. Sadly, the Processing sketch I made this with is gone forever.
Read MoreThe Barnsley Fern is a fractal pattern named after British mathematician Michael Barnsley. It is generated by an iterative process that involves repeatedly applying a set of geometric transformations to a simple initial shape. The resulting fern-like pattern displays self-similarity at different scales, and has applications in computer graphics, image compression, and chaos theory.
Read MoreKruskal's algorithm is a greedy algorithm used to find the minimum spanning tree of a connected, weighted graph. The algorithm works by sorting the edges of the graph by weight, and then adding the edges to the minimum spanning tree one by one, making sure to avoid creating cycles. Kruskal's algorithm has a time complexity of O(E log E) where E is the number of edges in the graph, and is widely used in network design and optimization problems.
Read MoreI created my own Collatz Conjecture visualization, experimenting with a unit circle design that resulted in 360 distinct "branches". While it may not offer groundbreaking insights, the process was enjoyable and yielded interesting results, particularly for the number 327.
Read More- I'm working on a few programs that I will be using using to visualize algorithms on procedurally generated terrain. This particular program visualizes a minimum spanning tree using Prim's Algorithm on random walkers. The terrain is 128x128 tiles, each containing 4 vertices on the negative y-axis that I applied a Perlin …
Read More - So I participated in the AT&T Hackathon this year. I approached it as R&D for developing 3D games that run on Android. I don't have much to say about it except that I learned an awful lot about the limitations of Android, which in turn taught me a lot about optimization techniques, DPI-scaling and the matrix …
Read More Expanding on last night's work with Open Simplex Noise. I figured the next logical step was to make a Minecraftian terrain generator, so here it is. If I ever felt compelled to build a game from the ground up, this would probably be my starting point.
Read MoreSo, I was on the hunt for a simpler way to make cool looped animations and stumbled upon this thing called 4D Simplex Noise. I found a super helpful tutorial on necessarydisorder's WordPress page called "Drawing from noise, and then making animated loopy GIFs from there". It was really informative, got me inspired, and had a spot-on title.
Read MoreSimple animation of tiles flipping. They can flip randomly or they can be flipped by applying Perlin Noise.
Read More- This is a program I wrote last November that assembles raw image data coming from the Juno Spacecraft. When I started, I thought it would be cool if this program ran in a browser window. When I finished, I was certain that this program should have been a desktop application. The final images this program produces are …
Read More Counting sort is a non-comparison based sorting algorithm that works by determining, for each element in an input array, the number of elements that are less than it. This information is then used to place the element in its correct position in the output array. The algorithm has a linear time complexity of O(n+k), where n is the number of elements in the input array and k is the range of values in the input array.
Read More