Category Archives: maths

Rendering a Gigapixel Buddhabrot (Part One)

This is a followup to my What is a Buddhabrot anyway?-post where I only described the mathematical backgrounds of the Mandelbrot Set and its relationship to Buddhabrot renderings. This post will describe how I actually created the images.

As described in the linked article above one needs to find such points for which the Mandelbrot iteration becomes unbounded. Then one draws each point of such an unbounded iteration, repeats that for lots of other points and gets a Buddhabrot.

While the words sound easy enough, there are certain problems: how does one know that an iteration becomes unbounded when unbounded basically means that “it never ends up somewhere”. And then how do we find those interesting points and moreover lots of them within a lifetime?

Luckily it has been found out that if the continued iteration results in points that are farther than 2 units away from the origin of the coordinate system, that this iteration is unbounded. That means that if we started with a point that leads to an unbounded iteration we will sooner or later know it and can stop iterating.
However, if we started with a point that leads to a bounded iteration it will never lead to points farther than 2 units away from the origin and if we don’t stop using some other criterion we will have an infinite loop. This other criterion is quite simple: set some maximum iteration count and whenever you exceed it consider the iteration bounded and thus not interesting for the Buddhabrot rendering.
Read more »

So what is a Buddhabrot anyway?

a Buddhabrot
(click picture to enlarge)
Trying to put interesting pictures on my walls, I recently started experimenting with rendering Buddhabrots. While those witnessing my experiments uttered some “wows” and “beautifuls” (and some “uhm aha?”) nobody seemed to know exactly what those pictures actually show and so I decided to write this article to point people to instead of explaining it all over again 🙂
Read more »

Introduction to Data Compression – Huffman Coding

Despite unprecedented storage capacity and Internet bandwidth available to everyone the amount of information growing daily as well means data compression is a must. Without it mobile music players would only be able to store a tenth of the songs they do, the same factor of about ten goes for digital cameras and HD television would be mostly impossible at all.

I hope to be able to describe how data compression actually works. However, the topic is somewhat complex, especially when coming to audio, image and video compression. While those topics will be discussed in articles (hopefully) to come I want to start with one of the most simple methods to compress data: Huffman coding.
Read more »

Calculating an intercept course to a target with constant direction and velocity (in a 2-dimensional plane)

For some game idea I worked on a bit some time ago I needed a bit of maths. Luckily all that was needed was taught at school and with a bit of thinking (and trying) it all worked out:
diagram of a moving object to be intercepted by a projectile

Let’s consider an object at point A moving with the constant speed vector \vec{v}. At point B we got the ability to fire a projectile with speed s. Where do we have to aim at to hit the object with our projectile? In other words: what is the location of point I or what would be the vector \vec{x}?

Now let us derive the necessary maths and put it into code… (requires understanding of vectors and quadratic equations)

Read more »