/// <summary> /// Test if this RotationVector is approximately equal to another. /// </summary> /// <param name="other"></param> /// <returns></returns> public bool IsSimilar(RotationVector other) { return(Math.Abs(this.X - other.X) < EPSILON2 && Math.Abs(this.Y - other.Y) < EPSILON2 && Math.Abs(this.Z - other.Z) < EPSILON2); }
/// <summary> /// Is this rotation equivalent to a given one? /// Equivalence is defined as rotations around vectors sharing the same axis (including opposite directions) /// and an angle with the same modulated equivalence. This in turn means the same spatial orientation after transformation. /// See <see cref="AxisAngle.IsEquivalent(AxisAngle)"/> /// </summary> /// <param name="rv"></param> /// <returns></returns> public bool IsEquivalent(RotationVector rv) { return(this.ToAxisAngle().IsEquivalent(rv.ToAxisAngle())); }