Saturday, June 28, 2008

Cold Start

I seem to recall a time in my life where I was "smart" - i.e. had a crapload of learning at my disposal along the lines of higher mathematics, physics, literature... all those things they cram in your brain in university. Problem is I never put that to use beyond the final exams, so now when I encounter my lecture notes, conveniently stored in cardboard boxes down in the spidery depths of the crawlspace, I marvel at the cryptic scribblings I used to understand.

I had occasion to recall some of these arcane spells when I went on my annual Lynden, Washington trek for the Rhinoceros teacher seminar.

Here's the problem: Wanted to generate a stereoscopic rendering of a 3D model. This involves the following process:
  1. render image, save as "left.jpg"
  2. shift camera axis a factor of 1/16 the camera/target distance to the right, along a line perpendicular to the axis, preserving z coordinate
  3. render image, save as "right.jpg"
  4. ????
  5. profit!
Common wisdom dictates that for a process this mechanical, a script is called for:

10:00 am: Google "Rhino scripts" to recall how to reference camera postion
10:30 am: spend significant amount of time deciphering how Rhinoscript deals with vector notation. It should be A, why am I getting errors?
11 am: recall vectors and arrays are declared as a variant, which has to be initialized. Oh yeah.
11:30 am: lunch at Eastside Deli : Awesome sandwiches.
12:30 pm: try to remember my vector transformations. do a *lot* of uugling ( useless Googling).
1:30 pm: finally remember enough vector transformations to scrape a vague script together.
2:00 pm: discover Rhino plugin called "Monkey" - IDE fro Rhinoscript. Life is made 90% easier.
2:30 pm: discover many, many built in vector transformation functions in Rhinoscript already exist. Using these removes 5 "For-Next" loops, and reduces script volume significantly.
3:00 pm. prototype script works. Looks stupidly simple. This took me five hours? Minus Lunch?
I'm embarrassed.

It's the mental equivalent of this

No comments: