/// <summary> /// Returns a new Mobius transformation that is the inverse of us. /// </summary> public Mobius Inverse() { // See http://en.wikipedia.org/wiki/Möbius_transformation Mobius result = new Mobius(D, -B, -C, A); result.Normalize(); return(result); }
public static Mobius operator *(Mobius m1, Mobius m2) { Mobius result = new Mobius( m1.A * m2.A + m1.B * m2.C, m1.A * m2.B + m1.B * m2.D, m1.C * m2.A + m1.D * m2.C, m1.C * m2.B + m1.D * m2.D); result.Normalize(); return(result); }
public static Mobius operator *( Mobius m1, Mobius m2 ) { Mobius result = new Mobius( m1.A * m2.A + m1.B * m2.C, m1.A * m2.B + m1.B * m2.D, m1.C * m2.A + m1.D * m2.C, m1.C * m2.B + m1.D * m2.D ); result.Normalize(); return result; }
/// <summary> /// Returns a new Mobius transformation that is the inverse of us. /// </summary> public Mobius Inverse() { // See http://en.wikipedia.org/wiki/Möbius_transformation Mobius result = new Mobius( D, -B, -C, A ); result.Normalize(); return result; }