Why Windows 7?5
Matt posted in The Industry on July 6th, 2009
No, this post isn’t about why Windows 7 is good or bad. It’s about why it is called Windows 7. According to Microsoft, it’s called Windows 7 because it’s the 7th release of Windows. For no apparent reason, I started wondering how they are coming up with the 7th release of Windows. The last numbered regular Windows edition was Windows 3.1. Since, there’s been Windows 95 (4), Windows 98 (5), Windows ME (6), Windows 2000 (7 - this was way better than WinME, but it actually came out first. Go figure.), Windows XP (8), Windows Vista (9). Windows 2K could be omitted since it was targeted at the NT crowd, but it’s still not getting to the number 7. My next thought was perhaps they were using NT numbering. The last numbered version of NT was NT 4. Since then, there’s been Windows 2000 (5), Windows XP (6), and Windows Vista (7). So, that’s not it. A friend thought that perhaps it was the kernel version. Turns out Windows 7 is using version 6.1 of the NT kernel. So why is it called 7? If anyone is privy to the official Microsoft numbering, feel free to leave a comment. Otherwise, I’ll remain confused.


In order to simplify the math, we can write the equation as
where
and
.




where
and
.
, we get
. Since
is known, plugging that into the previous equation we get
.
is also known as the Hermite Basis Matrix, and is easy to calculate.
. If that statement is a little confusing, let’s do the math:

. This is a better format anyway because now we are multiplying a row vector by a 4×4 matrix, which should be something easily computable with standard math libraries. So finally, let’s say
.

as a vector intrinsic, and when you want to evaluate it, you compute
and dot it with
) with a constant matrix, so that is easy to do as well. Isn’t that elegant?
, but the same math applies to
and
. Basically each component will have an independent cubic equation that is solved by multiplying
are the tangent, which has a direction and magnitude. The tangent is the derivative of the curve at the point, which is the rate of change. For a position function, the rate of change is the velocity. However, we have a cubic function with a parametric
parameter, which isn’t the same as time in seconds or whatever your unit is. You can convert it to whatever units you’d like by using
to
. Unfortunately, finding the general equation for arc length for a cubic is extremely complicated, so this probably isn’t a good approach for real time applications. You can either iteratively estimate it or estimate it by dividing your desired world space speed by the magnitude of the tangent vector. However, in many situations, the cubic path works just fine.