4D Volumetric Quaternion rotation/projection

Well… That’s what it is technically. Here’s my render:

updating with more information in a bit.

Site AND infinite sums of matrices

I added more content to the site; Including a re-vamping of the /downloads/ section. I’m planning on adding information about each executable/project, and I’m currently working on adding a random image selector. There’re a lot of really cool pictures in the /img/ and /img/fract/ directory, but the links to them are scattered around the internet! Some I just uploaded, and the only way to visit them is to type the exact link into your browser! To remedy this, I’m adding a page where you can see a random image, selected from the /img/ directory.

In other news, I had an idea last night, about infinite sums of matrices. The results are here. You can actually treat infinite sums of matrices in almost exactly the same way as you treat infinite sums of scalar numbers, only using the matrix analogs of each operation.

Anyone who has looked at much code I’ve made, or heard me talk about code I’ve made, knows that I make use of vectors a lot. So, I uploaded the “vector2” class I use. You can find it here.

Lastly, I’ve finally made some renders of a squig. The results are at the bottom of my “What is a squig?" article.

New articles.

I got three new articles up on neurofuzzydev.com. One is about grid based map generation, another details what a “Squig” is, as defined in Mandelbrot’s “The Fractal Geometry of Nature”. The final one describes different aspects of base-motif fractals, including how to create them.

Fractal Vector Fields - calculating and estimating orbits.

So, I’m trying to calculate these fractal orbit vector fields, yasee???

(see: http://forum.thegamecreators.com/?m=forum_view&t=180694&b=6, and other pretty pics at the bottom of this post)

Basically, you have some complex iteration:

—- Z_n+1=f(Z_n)

This produces a list of values:






(where Zinf is where this iteration occurs an infinite number of times, of course.)

The black parts of the classic Mandelbrot and Julia set images you see, represent whether Zinf diverges to infinity, or stays within the set. The color on the outside is based on what Zn you know for sure the point is out of the set.

Now, say you take two vectors from the above list of Zn…Zinf: Zn and Z_(n+1). If you find the difference between the two numbers, you get information about the orbit in that one state. Here’s a picture of an array of vectors for a 5th iteration minus 6th generation field of normalized vectors:

the color of each vector is based on log(length), and the line that you see follows the flow field defined by the vectors (not taking vector magnitude into account).

The problem with this method is that some numbers diverge FAST. Floating point numbers just can’t handle it! 10^5 may turn to 10^10 next iteration, 10^20 the next, and in two more iterations it goes from the range of 32 bit floats, to out of the range of double floats!

If you’re calculating the mandelbrot or julia set, like i have been, you just so happen to be in luck!

See: if you take the equation Z^2+C, and assume Z to be very very large, C becomes irrelevant - literally! If you have a float equal to 10^30, and you add one to it, it’s gonna be the same thing! If you use the polar form of a complex number, all you have to do is double the angle, and double the order of the radius, every iteration.

Numbers close to zero are a bit more complicated. For a julia set with C~=0, you get a number that oscillates forever, but still stays close to zero (zero only if C=0). Generally, however, the points are heading towards zero. If the number is too small to work with, you’re probably better off just pointing the vector towards zero in the complex plane, and saying it’s magnitude is too small to calculate with a floating point.