return sqrt((xx * xx) + (yy * yy) + (zz * zz));
}
+//
+// Convenience function
+//
+/*static*/ Vector Vector::Unit(Point p1, Point p2)
+{
+ return Vector(p1, p2).Unit();
+}
+
//
// Convenience function
//
return acos(a.Dot(b) / (a.Magnitude() * b.Magnitude()));
}
+
+/*static*/ Point Vector::Midpoint(Point p1, Point p2)
+{
+ return Point((p1.x + p2.x) / 2.0, (p1.y + p2.y) / 2.0);
+}