Quadrics, by any other name…

Why do we have to have funny names for standard things?  The Quadrics, you know; cone(cylinder), ellipsoid (sphere), paraboloid, hyperboloid, and disk.

These are pretty cool math constructs.  One thing is they are all BiParametric.  That means that they can all be rendered using the same basic BiParametric object.  The only thing you need to do is supply the correct parametric equation.  For example, for the paraboloid, the code looks like this:

function shape_paraboloid.GetVertex(self, u, w)
local phi = u * self.PhiMax

local z = w*(self.ZMax-self.ZMin)
local r = self.RadiusMax * math.sqrt(z/self.ZMax)
local x = r * math.cos(phi)
local y = r * math.sin(phi)

return {x,y,z}

That’s it.  You can pull such code straight out a text book, plug it in, and suddenly you’ve got nifty things going on.

In the case of the cone, paraboloid, and hyperboloid, we need to be able to close their ends, using a disk.  Luckily, we have the disk object, so the’s not a problem.  The disk is kind of interesting.  You can specify an inner radius, and get what’s known as a anulus.

So, a good time was had by all, and the number of core objects in the library is multiplying like rabbits.

I would like to see what can be done with that RubberSheet object though.  And if I had CSG operations, I’d just pee my pants I think.

One Comment on “Quadrics, by any other name…”

  1. Math James says:

    There are just so many ways to learn math! Appreciate the post.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s