fix NaNs, fix Vector3D::orthogonal()