Returns a vector of unit length, unless it is the zero
        vector, in which case it is left as is.

def get_normalized(self):
        """Returns a vector of unit length, unless it is the zero
        vector, in which case it is left as is."""
        magnitude = self.get_magnitude()
        if magnitude > 0:
            magnitude = 1.0 / magnitude
            return Point(self.x * magnitude, self.y * magnitude)
        else:
            return self