Lurker, clearly efficiency will be important for this class. For the most part, it looks good in that respect. In your normalize function though, you may want to consider one call to length(), and storing the value in a temporary variable... It might be more efficient, might be less, I'm not entirely sure, but three function calls seems like a lot in that case.
Anyways, nice class.