View Full Version : What are splines and why should the be reticulated?

09-26-2001, 08:38 PM
My Sims games spend a lot of time reticulating splines.I looked up both words. I still don't understand. Can someone explain?

09-26-2001, 08:40 PM
Thats just Will Wright's (the creator of the Sims series) sense of humor. He wanted something that sounded fancy, but didnt mean anything. I think he was sucessful.

09-27-2001, 09:27 AM
It might be a graphics thing--I'm pretty sure that both terms are used in the field of computer graphics. I'll ask one of my friends who does that kind of stuff.

09-27-2001, 09:35 AM
Here we go. From http://eeggs.com/items/333.html:Reticulating Splines: Constructing network based functions that are defined by divisible intervals while approximating said network and composing it of pieces of simple functions defined on subintervals and joined at their endpoints with a suitable degree of smoothness.
-- Will Wright (from http://simz.gamenation.com/)Hope this helps.

09-27-2001, 01:21 PM
I took a graduate level computer graphics programming class in College, I think I can boil it down a little bit...

A spline is a smooth curve. Generally it means a smoothly curvy line. This is important in computer graphics right now because computer have a hard time dealing with smooth curves and most graphics programs would rather represent everything as if it were tiled with little flat tiles (polygons). But the human eye finds smooth surfaces much more realistic looking. Thus it's better to use splines whenever possible. But you have to have a fast computer and reasonably smart software, or it'll take forever to draw the picture on the screen. (Ever used a raytracing program?)

As for "reticulating", it seems to have something to do with the process of constructing or connecting several things together so as to form another. Or maybe the process of decomposing a complex thing into smaller simpler ones that, when added together, equal the original complex thing.

So my best guess (provided this isn't just a joke on Will Wright's part) is that somewhere in the deep guts of the Sims program, it wants to draw splines. But it has to cut big splines up into little pieces in order to process them efficiently enough. And all the little splines have to match up so that if you string them together they look just like the original big one did.

For example, imagine you have a really jagged line that jumps up and down a lot. You want to copy this line. But you don't want to copy it pixel by pixel, because that would be slow as heck. What you can do, maybe, if you're smart enough, is to cut it up into pieces. If you choose the cutting points intelligently enough, you can probably represent this jaggy line by several shorter straight ones, joined end to end. Then you compute and store the mathematical formulas for these smaller lines. When
you want the computer to draw the jaggy line again, you
just tell it, "draw this series of small, straight lines, joined end to end."

Now think of the same thing, except with a wildly curvy line instead of a jagged one. That's "reticulating a spline". Do it for more than one spline, and you're "reticulating splines."

So, I guess the best restatement is: "pre-processing curved surfaces so as to be able to draw them onto the screen in a fast and efficient manner."


09-27-2001, 01:30 PM
Splines are curvy lines. Reticulating splines now makes some sort of fuzzy sense to me. I actually thought it could be a nonsense phrase but not too funny considering how long it takes my computer to do it.

09-27-2001, 01:33 PM
Yeah ultrafilter, that helped!

...make me feel real stupid.

09-27-2001, 01:44 PM
And while we've got the spline experts here, could someone fill me in as to the meaning of non-uniform rational b-splines? IIRC, that's what NURBS (3D Studio Max uses NURBS curves as an improvement on bezier curves) is an acronym for.

But you have to have a fast computer and reasonably smart software, or it'll take forever to draw the picture on the screen. (Ever used a raytracing program?)
I've played around a bit with 3D Studio Max on my Pentium 200MHz running Windows NT. Rendering stuff (especially raytraced stuff) involved finding something else to do for a while. But I did make some nice preliminary designs for the skyscraper I want to build.

09-27-2001, 02:12 PM
Originally posted by Biggirl
Yeah ultrafilter, that helped!

...make me feel real stupid.

Sorry...I was more showing that it's not just a nonsense phrase. If it makes you feel better, I also have no idea what that means.

09-27-2001, 02:19 PM
If I'm remember right, "b-spline" is short for "Bezier Spline". These are a slightly more mathematically complex (and therefor slightly slower to draw) kind of spline whose shape is determined by 4 control points. (A regular spline is determined by 3.) The practical upshot of this is that you can control not only the endpoints of the spline, but you can also control the slope of the tangent line at the endpoints. This is really handy when stringing multiple splines together - you can make sure the slope of two adjacent spline segments match up at the point where they meet. So, the point where the two splines meet will always be smooth and continuous, it'll never have a sharp corner or point. This makes it a lot easier to string splines together to make complex curves that form a smooth whole. So that's the "b-spline" part of "Non-uniform, rational, b-splines".

As for non-uniform and rational, I would suspect they also talk about obscure mathematical properties of NURBS that are helpful in making realistic looking curved surfaces. Also, seems to me that NURBS are usually 3-D, as opposed to 2-d curves. So I guess I would say that they're "Bezier spline patches" - that is, little squares that can have smooth 3-D curves in them.

I don't know a lot about CG, so I'm not entirely sure what NURBS are used for, but my suspicion is that anytime you want to create a curved 3-D surface out of smaller curved 3-D patches, and that is reasonably fast to render, and still looks realistic, you're going to end up using NURBS of some sort.

In short, it's all part of the same game: tricks to get the computer to draw realistic-looking curved surfaces onto a computer screen fast enough to fool the human eye and brain into perceiving it as if it were real.

In an ideal world we'd have essentially limitless computer power, and we'd just ray-trace everything. But computers these days aren't nearly fast enough to do that, so we have to resort to "good enough" solutions like splines and NURBS and etc...


09-27-2001, 02:34 PM
Originally posted by ultrafilter

Sorry...I was more showing that it's not just a nonsense phrase. If it makes you feel better, I also have no idea what that means.

Yes, that actually does make me feel better. I got to ". . .and composing it of pieces of simple functions defined on subintervals. . ." and blew a reading comperhension gasket in my brain.

09-27-2001, 02:38 PM
There's a highly mathematical page that explains a bit
about NURBS here:


Some of this might make a little bit of sense if you're really, really lucky. You might recognize X, Y and Z as the 3-D coordinates of a point. But what the hell is this "W" thing? And they keep talking about "transformations." Etc, etc.

I understand it a bit more, having coded up programs to implement equations similiar to these. Suffice it to say that computer graphics involves a LOT of math, and the methematical tricks that get used off to get everything running fast enough to be tolerable are truly awe-inspiring. If you ever wonder why computer geeks worship John Carmack, the guy who wrote the graphics engines for Doom and Quake, look at this page and realize that Carmack eats stuff like this for breakfast - and then comes back for seconds. And when he's done, THEN goes and makes a kick-ass video game out of it.


09-27-2001, 02:48 PM
What's a spline? (http://tuxedo.org/~esr/jargon/html/entry/What's-a-spline.html)
(from The Jargon File (http://tuxedo.org/~esr/jargon/html/index.html))

09-27-2001, 02:52 PM
Some of this might make a little bit of sense if you're really, really lucky. You might recognize X, Y and Z as the 3-D coordinates of a point. But what the hell is this "W" thing? And they keep talking about "transformations." Etc, etc.
Actually, I took a class in the mathematics of computer vision, and covered a bit of projective geometry, which is what that is. The w is there to allow you to represent infinity. The point (x, y, z) becomes (x, y, z, 1) unless you want to talk about infinity (the vanishing point). I can't really remember much anymore, and didn't do well in the class to begin with.

Great, now you've caused flashbacks to proofs involving bizarre matrix math and stuff.

09-27-2001, 02:59 PM
The important thing here, however, is that the Sims (along with SimCity2000) is doing none of this, but rather just puts the words on the screen because Will Wright liked the phrase.

09-27-2001, 03:29 PM
First, The Sims does not use 3D graphics, instead merely splatting sprites onto the screen. Any splines used would, at most, be for creating paths for objects to move along inside the world. I'm guessing Qwertyasdfg has the right answer.

Second, B-splines are not Bezier splines. Bezier splines pass through the endpoints of the spline, whereas B-splines do not. On the other hand, B-splines have some nice properties for matching up the surface properties for adjoining curves, while Bezier splines are trickier to get two adjoining curves to smoothly match up. Looking in preview, I see ModernRonin2 has linked to a page that more fully explains NURBS, albeit with more jargon.

A "transformation" is a mathematical way to take information from one frame of reference, and place it into a different frame of reference.

The "W" dimension, as waterj2 notes, is for projective geometry. A point in "eye space" (an object's coordinates that have been transformed into the viewer's frame of reference) with coordinates (X, Y, Z, W), gets transformed into the "screen space" coordinates (X/W, Y/W, Z/W), where (X/W, Y/W) is the location on the screen the point would appear, and Z/W is how far from the viewer the point is.

09-29-2001, 04:38 PM
It's a reference to Sim City 2000. It said that when you created a new landscape.

09-30-2001, 05:05 PM
Mmmm... reticulated splines. They're better fresh, but they're out of season now.

09-30-2001, 09:32 PM
Incidentally, if my dad's to be trusted, the original meaning of "spline" was a "straightedge" that could be bent and curved, to be used for drawing a smooth (albeit not particularly mathematical) curve through points on a drawing. He does actually have such a device, so it may well be true.

09-30-2001, 10:07 PM

Trust your dad.

However, tell him that before they were drawing instruments, they were thin pieces of wood, used to join curving pieces being glued together, or otherwise joined in such a manner that a guide or bracing piece was needed.

In the late 1800's draftsmen began using splines to rule curves between two points, and the fact that curves made with a uniformly springy little drafting spline also met the mathematical definition of spline, specifically a curve between any two points having a continuous first and second derivative. I personally think the math guys borrowed the term from the draftsmen, who had taken it from the cabinetmakers, a century before. Now the computer guys are using it again, for a related, but subtly different meaning.

"Cabbage: A familiar kitchen-garden vegetable about as large and wise as a man's head." ~ Ambrose Bierce ~

09-30-2001, 10:27 PM
From Merriam-Webster (http://m-w.com)
Etymology: origin unknown
Date: 1756
1 : a thin wood or metal strip used in building construction
2 : a key that is fixed to one of two connected mechanical parts and fits into a keyway in the other; also : a keyway for such a key
3 : a function that is defined on an interval, is used to approximate a given function, and is composed of pieces of simple functions defined on subintervals and joined at their endpoints with a suitable degree of smoothness

10-01-2001, 12:56 AM
Sim City 2000 maps are based on a 256256 grid of squares, each with its own elevation. Granted, the possible elevations are discrete, rather than continuous, but there is a certain smoothness to the map if you look at the medium-scale structure. I always assumed they drew a smaller network, say 1616, of random elevations, and connected them with a smoothing function in both dimensions. While this process may not technically be reticulation of splines, it's kind of close. It does sound darn cool when that voice says "reticulating splines".

I agree that when The Sims says it, it's simply a reference to SC2K, even though The Sims landscapes are based on similar grids.

Send questions for Cecil Adams to: [email protected]

Send comments about this website to:

Terms of Use / Privacy Policy

Advertise on the Straight Dope!
(Your direct line to thousands of the smartest, hippest people on the planet, plus a few total dipsticks.)

Copyright 2018 STM Reader, LLC.

Best Topics: sexual term greek dreaming comic dum dum bullet ethyl fuel tyler henry reviews no1 cares shirt three stooges theme reddit hemorrhoids ejaculate further bukaki wikipedia rubber game meaning bosun's mate rent dope movie babies with earrings cell phone ringer amplifier for home carter and cash meaning fever sweat it out tomatos or tomatoes spelling swollen thumb for no reason why are strikeouts called k's can gatorade cause kidney stones can you write yourself a check can a pig eat a human how to put lights on a timer he thrusts his fists against the posts and still insists he sees the ghosts. where do fireflies live in the usa is conservapedia a joke