Archive for March, 2005

Modeling coordinates

Thursday, March 31st, 2005

I chose the coordinates specified for Assignment 3 (-2 < {x, y, z} < 2) because they’re relatively simple, as modeling coordinates go, but they’re pretty much arbitrary — feel free to replace them with a more convenient modeling coordinate system of your choice.


Thursday, March 31st, 2005

John Kim points out that you can draw Assignment 3’s pyramid using gluCylinder by specifying a topRadius of 0 and only drawing 4 slices.

I kinda wish I’d thought of this; it’s much better than the Toblerone bar example I used in class.


Wednesday, March 30th, 2005

For those of you who are interested in spy-stuff, I recommend the new book Chatter: Dispatches from the Secret World of Global Eavesdropping by Patrick Radden Keefe.

To quote Scott McNealy (CEO of Sun Microsystems): “You already have no privacy. Get over it.”

The Secret Service and Distributed Computing

Tuesday, March 29th, 2005

The Washington Post has an article on the Secret Service’s internal system for cracking encrypted files. Sort of their own


Tuesday, March 29th, 2005

Jason Obermeyer points out that roof of the temple in Assignment 3 has 4 sides, not 3, which is going to make using glutWireTetrahedron() kind of difficult. Try glVertex() instead.

trackball.c Compiler Trouble

Tuesday, March 29th, 2005

You may have trouble compiling trackball.c, depending on the compiler that you’re using. The problem is that compilers disagree over the contents of <math.h>.

Unfortunately, there are multiple standards for C libraries. The ANSI/ISO C standard <math.h> specifies only a few math functions. The POSIX standard <math.h> specifies a superset, including several useful constants like M_PI, and several additional functions, including y0() and y1() for computing Bessel functions.

Unfortunately, compilers tend to pick and choose. The “standard” library for the compiler I used includes M_PI but not y0() and y1(). If you’re using Visual C++, you’ll find that its “standard” library does the opposite: it defines y0() and y1() but not M_PI.

The best defense against all of this is probably to define your own constant for PI and to rename y0 and y1. By the time you read this, I’ll have updated trackball.c to do this.

Computers suck. Have I mentioned that?

Spring Break Office Hours

Friday, March 25th, 2005

If you need help during Spring Break (say, on the Graphics
or the Security Paper Summaries), I will be on campus 12-5pm Monday and Wednesday of next week.

Extra Credit

Friday, March 25th, 2005

I’ve posted an Extra Credit Assignment.

Assignment 3

Friday, March 25th, 2005

Note that I’ve updated the course outline to show a due date of Thursday instead of Tuesday for Assignment 3.

Virtual Trackball Jumpstart

Wednesday, March 23rd, 2005

Here’s some help getting started with the virtual trackball part of Assignment 3: grab trackball.c. Initially the sphere doesn’t move. Fill in the parts labeled “TODO” with the equations discussed in class, and you should end up with a running program similar to trackball.exe.