Book Read Free

Collected Essays

Page 28

by Rucker, Rudy


  I have a momentary wave of revulsion. Virtual Reality is alive and well here, but it’s being used for such crappy purposes. It’s like having a million dollar synthesizer and playing Whitney Houston songs. One guy is demoing a design program in which he’s produced a best called Bubba. Bubba has eighteen thousand triangles and has surfaces made up of these very cool mathematical functions called NURBs. But Bubba’s a completely shitty and moronic looking monster, like Disney at his generic worst. NURBs and eighteen thousand triangles to be just as stupid as ever.

  I calm down by watching a Microsoft demo of the software compiler they’re calling VisualStudio.NET, also known as Visual Studio 7.0. To the palpable relief of the programmers around me, version 7.0 looks very much like the version 6.0 that we’ve all been using for the last two years. One never knows when Microsoft is going to choose to fuck one over with their latest Brave New World of compatibility issues.

  Above the Microsoft demo area is a giant poster, a banner really, of a guy with a nose ring and a Maltese Cross piercing in his tongue, his mouth open screaming, this is for their DirectX software library. How odd to think that this is how one of the world’s largest companies sells tools to serious programmers! How far we’ve come from the suit-and-tie company-men of the 1950s.

  I cruise the Expo Hall a lot more over the coming days and I begin to have more and more fun. I watch some developers playing the demo games set up. One is a Japanese game called Jet Grind Radio about skater painting graffiti. Amazingly antisocial. I talk to the guy playing with it. “I like how they make it look like cels,” he says. “Each figure has a thick dark line around it like in a cartoon.” Another game being played is Samba Amigo, with an interface that is, yes, a pair of maracas. “That’s the most brain-dead game I’ve ever seen,” I say to a developer. “Yeah, but it’s awesome,” he said. “I’ve been playing it a lot.” The game is to shake the maracas in patterns indicated by circles that have dots appearing in them, you follow the dots. In the background is an endless procession of colorful shapes, like a three-day ecstasy trip or something, hot-dogs in serapes, grinning amigos, cute computer-graphics girls with huge spherical boobs.

  I meet some Irish guys from a company called Havok who have a physics package for games, it basically solves spring equations and the like in real-time so that you can have bouncing hair, flapping cloth, and spinning rocks with accurate collisions. This used to be supercomputer Virtual Reality, and now it’s a plug-in package for game developers. They’re asking a pretty penny, though, $75K for the full game developer’s kit. Oddly enough, Havok’s biggest competitor is a company called Karma out of Oxford University. Back in the Old World, they really teach students something.

  Sony is there with a pen full of Aibos, their robot dog. I reach in and snap my fingers, an Aibo comes over and sniffs me, I pet its head, it sits back on its haunches and whines, I’m in love. A Japanese programmer shows me something that looks like a videocassette with little levers in its sides. In his broken English he is giving me to understand that this cassette-sized box is the inner hardware of the Aibo, and that I could develop my own shell to put onto the box, Sony is looking to license to developers. I have a flash of a world in which all the creatures and people I interact with are in fact armatures of triangle meshes tacked onto these Sony boxes. Someday the meshes disappear, and my office-mate at school is revealed to be a black box with levers sticking out of it. The triangles are scattered across our office floor. “Are you Jon Pearce?” I say to the box, and the lever in front goes up and down nodding yes.

  I keep walking around the Expo hall, more and more into it. I’m better able to see things now, with familiarity it’s less of an overwhelming jangle. One thing I totally notice is that they have some women dressed in black up on stages dancing, two different stages. Each women has reflective beads attached to her cat-suit, maybe fifty of them. Around the stage are computer monitors showing realtime moving wireframe models of the girls. The almost-all-male developers are interested in this, both in the dancing women and in the moving wireframe models. We hardly know which to stare at the most.

  I listen to the presentation at the Vicom Motion Capture stage. Around the stage are eighteen megapixel digital video cameras shooting 25 frames per second. The dancer is Megan. She has dark lips, a perky smile, a messy pinned-up ponytail that’s in the wireframe models as well. She yawns, dances, poses while the pitchman talks. She’s as ceaselessly active as the tendrils of a sea anemone. She leans, the epitome of grace, on the partition separating the stage from the pit where two programmers sit running programs to clothe her wireframe bod in rendered triangles. She has one arm akimbo. What a gulf between this live California girl and the programmers thinking about how best to “spend their triangles” on her rendering. She disappears off-stage for a few minutes and when she comes back, she holds out her arms to be recalibrated because, the British-accented announcer brays, “Megan’s just gone to the bathroom.” She makes cute, outraged protests. The developers are keenly interested in this information about the presumed state of Megan’s triangle.

  At the tail end of the conference, I catch a talk by Michael Abrash, who’s working on the Microsoft Xbox, a ballyhooed new gaming platform on the horizon. It has Nvidia graphics hardware. Abrash has been testing it for a year. He’s a super-programmer, the co-author of the classic first-person shooter game Quake. The hall is filled shoulder-to-shoulder with hardcore techie game developers, maybe a thousand of them, there’s not a single woman in view, not so much one single triangle of femininity as far as I can see. Abrash lets loose like a fire hose. A complete geek info-spew. The Xbox is to deliver 125 million triangles per second! All this to draw Megan’s arm akimbo. After his talk Abrash is besieged by questioners, they’re like dogs fighting over a piece of meat, which is Abrash’s brain. Being under a Microsoft Non-Disclosure Agreement—and you can imagine what that must be like—he can’t give them as much as he’d like to.

  As it turns out, I’m having dinner with Abrash, along with two of his Microsoft cohorts. They want to pick my brain about wild computer-science ideas for video games.

  On the way to meet them at the restaurant I stop in at St. Joseph’s cathedral. A humble party of working-class San Jose locals is gathered there, one of the church officials is prepping them for a wedding they’re going to have at noon tomorrow. The richness of this space, the murals, the dimensionality. The grains of the wood and the marble. The humanity of the people in the wedding party. Will the geeks of a hundred years from now be volumetrically modeling wood and character animating better sims of people? Why, why, why?

  At dinner, Abrash is brilliant and intense, a man looking for another big score. I make some suggestions about videogame things I’d like to see. Having just finished writing a novel about the fourth dimension, I’m particularly eager to see a four-dimensional videogame. The glass screen of your computer could as easily look onto a simulation of hyperspace as onto a simulation of regular space. Abrash is resisting this, though, he’s more attracted by the siren song of Cellular Automata, which are a wondrously gnarly precursor of Artificial Life. I happen to have some opinions about this too; it’s great to be talking to someone who might actually do something with them. An undulating surfscape made of continuous-valued Cellular Automata—now that would be worth spending your triangles on!

  All in all, the Game Developers Conference was a vastly energizing experience, like a brief immersion in a floating university. These guys totally get the old-time hot-rodding aspect of what computers are for. They’re not for delivering groceries, for God’s sake. They’re for speeding like hell to places nobody’s ever seen.

  * * *

  Note on “Spending Your Triangles”

  Written September, 2001.

  Appeared in a zine called Ylem.

  At this time I was teaching a Software Engineering class at San Jose State where I had my students to large projects where they’d create computer games using a software framework that I’d c
reated. My notes and for this class eventually became a textbook, Software Engineering and Computer Games (Addison-Wesley, 2002).

  The annual Game Developers Conference was often held in the San Jose, and I enjoyed going to it to pick up ideas for my class. I’d hoped to sell this article to Wired, but it didn’t make the cut, so I ended up giving it to a nice guy called Loren Means to put in his art/science zine Ylem.

  The Rudy Set Fractal

  Rudy Rockets, a detail of the Rudy Set.

  Iterated Functions and the Old Quadratic Julia and Mandelbrot Sets

  A map in the plane is some system for finding an image P’ of each point P. If f is a map in the plane, and f maps z into z’, I can express this either by writing z’ = f(z) or by writing z—f—> z’. Given an f and a z, we can define a sequence zn by:

  z0 = z, z1 = f(z), z2 = f(z1, and in general, zn+1 = f(zn).

  In terms of f,

  z—f—> z1—f—> z2—f—> z3—f—> z4—f—>…

  For some starting values of z, the zn sequence hops around within some bounded region of the plane, and we say z is bounded under f. And for other start values of z, the zn sequence heads off across the plane towards infinity.

  The Julia set for a map f is defined as the set of all z in the plane which are bounded under f. Symbolically, the Julia set for f is { z : z—f—> FINITE )}.

  The quadratic map fc given by fc(z) = z^2 + c has been widely studied. The Julia set for the fc map is called Jc. They became popular in the 1980s, along with a kind of “directory set” called the Mandelbrot set, which can be defined equivalently as M = { c : Jc is connected}, or , M = { c : the origin is in Jc }.

  The Cubic Julia Sets

  Okay, now for the good stuff!!! The maps which the Cubic Julias and Cubic Mandelbrots are based on have the form fkc, with fkc(z) = z^3 - 3*k*z + c

  For each fkc we can define a cubic Julia set Jkc by: Jkc = { z: z—fkc—>FINITE }.

  Why do I write fkc(z) in the particular form that I do? As discussed in Bodil Branner and John Hubbard, “The Iteration of Cubic Polynomials, Part I: The Global Topology of Parameter Space,” if you write polynomials in certain special ways, it’s easier to locate the so-called critical points of the polynomials. More on this point later on. For now, the point is simply that, by moving the origin of our coordinate system and a judicious choice of k and c, we can in fact write any cubic polynomial in the indicated form.

  To graphically represent the Jkc sets, each pixel position on the screen is identified with a distinct complex number c, and we look at c’s behavior under the map, which generates successive zn values. If zn is more than, say, 4 units way from the origin, we assume the sequence is headed for infinity, and give the pixel a color based on the value of n. And if zn stays within the boundary distance for as many steps as we check, then we assume that the pixel represents a point inside the set, and we typically color these points black.

  Unlike in the quadratic case, these cubic Julia sets Jkc are generally not symmetric. Some of them are connected, like this one.

  Julia Cubic Asteroids

  Some of the Jkc, which we won’t show, are made of numerous separate connected patches, and some are totally disconnected, like clouds of dust.

  It has been proved that Jkc is in fact connected if and only if both the complex numbers k and -k are in Jkc. These are the critical points of the fkc map that I was talking about above. We’ve written the cubic in the special form z^3 - 3*k*z + c precisely so that the critical points have this simple definition: k and -k.

  As Jkc is not symmetric, it may happen that only one of k or -k is in Jkc. Jkc is connected only when both of these critical points are in Jkc.

  Cubic Mandelbrot Sets

  The four-dimensional set of all complex pairs k and c such that Jkc is connected is known as the Cubic Connectedness map, or the CCM. Why do I say four dimensional? Well, k has two numbers inside it in the form a+bi, and c also holds two numbers. Ranging over four parameters gives you a 4D space.

  The CCM set has been studied by Adrian Douady, John Hubbard and John Milnor—as well as the paper mentioned above, see Adrian Douady and John Hubbard, “On the Dynamics of Polynomial-like Mappings,” and Bodil Branner and John Hubbard, “The Iteration of Cubic Polynomials Part II: Patterns and Parapatterns” (Love the title.)

  I never have understood why the Cubic Connectedness Map isn’t much better known! For some odd reason, my fellow fractal fanatics have consistently snubbed or misunderstood this incredibly rich vein of gnarl.

  CCM = { (k, c) : Jkc is connected}

  or, putting it differently,

  CCM = { (k, c) : ( k—fkc—> FINITE ) AND ( -k—fkc—> FINITE ) }

  One way to depict the CCM is to show various two-dimensional cross-sections of it. These cross-sections are what we call Cubic Mandelbrot sets. If, for instance, k is fixed, then we can look at the Cubic Mandelbrot set Mk.

  Mk = { c : Jkc is connected}, or

  Mk = { c : ( k—fkc—>FINITE ) AND ( -k—fkc—>FINITE ) }.

  It turns out that that Mk is symmetric around the origin, that is, if c is in Mk, so is -c. If k = 0+0i, one gets a degenerate Mk with fourfold symmetry; this is the default Cubic Mandelbrot set. This rather boring fractal is, sadly, the only well-known cubic Mandelbrot. Most fractal explorers neglect all the other—much more interesting—Mk.

  The boring default cubic Mandelbrot

  Note that a small change in the K parameter makes it more interesting.

  The interesting Mandel Cubic Stack

  And things get better.

  Detail of Mandel Cubic Invasion Of The Hrull

  One often sees small replicas of the pieces of the quadratic Mandelbrot set inside the Mk, though sometimes with wedges cut out of them.

  Detail of Mandel Cubic Pac Man

  As I mentioned above, the full CCM is in fact four-dimensional, and this shows up in the fact that many of the bud cross-sections have pieces missing from them. As an aid to mathematical visualization, I think of it this way. The CCM is like a three dimensional solid which is free to move pieces of itself to arbitrary time locations. Thus if a section of a bud seems to have the right half missing, we might think of the left half of the bud as being in Monday and the right half of the bud as being in Tuesday, with your cross-section being computed at the Monday time coordinate. I use time not at all in a physical sense here, but simply for the vividness of the image.

  Some of the Mk details are fairly amazing.

  Detail of the WhoopDiDoo Cubic Mandelbrot Set.

  And here’s another.

  Detail of Mandel Cubic Zipper

  And here’s another, this one found in what we call an Mc set rather than an Mk set.

  Detail of Mandel Cubic Ogre

  By slightly varying the two components of the k parameter, one can look at k-sections near each other, and try to visualize stacking them one atop the other. I would very much like to view 3D sets which are stacks of Mk sets that arise as one varies, for instance, the real part of k from -1 to 1. I have a lingering hope that these objects may look bulbous rather than taffy-like, despite the lack of success of some preliminary investigations. What we want to see is a three-dimensional Mandelbrot shape with buds all over it—this may be related to the rather different three-dimensional beast called the Mandelbulb.

  The Mandelbulb, which has been under intense investigation in recent years is a quite different kind of thing from the cubic Mandelbrot sets. The Mandelbulb is defined so as to be an inherently three-dimensional Mandelbrot set. The trick is to use spherical coordinates for three-dimensional space, and to define “multiplication” in terms of adding angles. I was in fact one of the first people to work with the Mandelbulb—back in 1988. I have some background information and some links about the Mandelbulb in a blog post.

  But, again, the Mandelbrot has no essential connection with the cubic, quartic and other Mandelbrot and Rudy sets that I’m showing pictures of in the current essay.

  The Cubic Ru
dy Set is the True Cubic Mandelbrot Set

  An apparently new fractal which I’ve enjoyed investigating is this.

  R = {c : Jcc is connected}

  = {c : c is in Mc}

  = {c : ( c-fcc—> FINITE ) AND ( -c—fcc—> FINITE) }.

  I immodestly call this the Rudy set, although it may be that pros like Branner, Douady, or Hubbard have their own name for it. As I say, I first starting working with this set some twenty years ago, but computers were pretty slow back then. In the April of 2010, using the commercial Ultra Fractal program, I saw much more detail of the Rudy set than ever before. Images that used to take hours to render can pop up in seconds.

  Note that the Cubic Rudy Set has an absolute or non-relative quality, in that it avoids the choice between the Mk and Mc Mandelbrot Cubics, each of which are a certain kind of orientation-dependent cross-sections of the Cubic Connectedness Map. By going down to the Jkk in the definition of the Rudy Set, we reach down to something that’s not relative to any specific orientation. Note also that we could equivalently define the Rudy Set as {c : c is in Mc}. For this is just {c : Jcc is connected}, which is the same as {k : Jkk is connected}.

  The Rudy Set

  Compare the definition of R as {c: Jcc is connected}to the definition of the Mandelbrot set M as { c : Jc is connected}. This makes me think that R is a good generalization of M, in some ways better than the Mk or Mc.

  R is an object which is extremely rich in unusual fractal structures. One good region is the plume between 2 o’clock and 3 o’clock relative to the whole set. I call this area “Mars”.

  Rudy Mars

  An image like a rocking horse is found in the Mars region of the Rudy set. This horse is one of my favorite spots.

  Rudy Horse

  Another good region is the spike at the top, at 12 o’clock. There is an interesting structure there that is a bit like a Mandelbrot set, but considerably gnarlier. I call it Fat Bud. This is a wonderful region for extreme gnarl.

 

‹ Prev