Sunday, February 19, 2006

Gainful Employment



Three cheers! Electronic Arts wants yours truly to join the team and make games!

I suppose my college education was worthwhile after all...

more info to come!

Wednesday, February 15, 2006

contraction fractal


I finally had a chance to check out the contraction toy that we were taught in class last week. The idea here is that we use an affine map to tranform points in the unit square repeatedly. The transformation matrix that we are using is [0.5 0.5]
[0 0.5]
There are two transformations that are done on the pointsT1 is simply the above transformation matrix. T2 is the above transformation matrix combined with a translation of [0 1] transpose. I started with the 4 corner points of the unit square and did both transformations on each to get 8 points, then again to get 16 points, and so on. When i had a decent number of points in my bag, I draw them. I am still playing around with this stuff, too, so expect more screenshots and discussion. I may not even have these renderings right. They look strange...

Sunday, February 05, 2006

Back to Basics: Return to Sanity?


So, all those renderings that I posted for the attractor fractals before were "wrong." They are something, and they might be interesting, but they are not renderings of the actual attractor set. After clearing up the math with Professor Taylor, I produced the following renders of the set that is created by this function f(x, y):

f(xn, yn)=(yn-1*xn-1*(1-xn-1), yn-1)

or

vect f(vect v)
{
vect result;
result.x=v.y*v.x*(1-v.x);
result.y=v.y;
return result;
}

Points are collected and drawn starting at a certain value (at which point we hope that the point is approaching the set), such as 995-1000 for the wide shots and up to 1,999,995-2,000,000 for the focus shots. The increment of y on this shot is (ranging from 3.0-4.0) is 0.0001.
Here is a zoom on the portion of the graph where y is between 5.575 and 5.5759. The increment was at 0.0001.
The detail is not high enough to make out the structures clearly, so I decreased the increment to 0.000001 to achieve the next few shots and set the n limit to 2,000,000. It took several minutes to calculate the points before they were rendered at this level of detail.

There is still instability in the system, even at this high level of iteration, which blows my mind. You can tell this due to the peppering of seemingly uniformly distributed points that clouds the structure of the image. If the system were converging faster, there would be more empty space like in the original image.

Wednesday, February 01, 2006

virtual jellyfish


I was thinking about Iterated Function Systems (IFS) after reading about them in the book, and I thought back on some weird stuff that I made using tetrahedrons and OpenGl a couple of years ago. I am not sure if this stuff counts as an IFS but I think it might.

The shape you see is a single freezefram of a constantly morphing object which is rendered by drawing the same tetrahedron over and over, each time applying an affine transformation which both rotates and translates the shape by a small increment. When applied over and over again, frame after frame, the position of each tetrahedron becomes a function of each of its previous states, all of which originate in the same spot at the original tetrahedron.

Here are a couple of shots of some other ones that I made. Its something else entirely to see them in motion, but I doubt that I can post an .exe file on this blog.