// @returns the axis of rotation. */ public Vector3D Axis() { Vector3D _i = Imaginary(); float l = _i.Norm(); if (l < 1e-8) { _i.Set(0.0f, 0.0f, 0.0f); } else { Point3D _i2 = (Point3D)_i / l; _i = new Vector3D(_i2); } return(_i); }