|
Index
C++ Code Documentation
template <class A> math::Moebius
File: BASE/math/Moebius.H
Moebius (fractional linear) transforms (a x + b)(c x + d)^(-1)
Modified from code by J. Lawrence.
public:
- typedef typename A::Real Real;
- Moebius();
- Moebius( Moebius const &f );
- Moebius &operator=( Moebius const &f );
- const A &a() const;
 | coefficeients (a x + b)(c x + d)^(-1) | |
- const A &b() const;
- const A &c() const;
- const A &d() const;
- void identity();
 | *this := 1 | |
- void mul( Moebius const &a );
 | *this := (*this) * a | |
- void mul( Moebius const &a, Moebius const &b );
 | *this := a * b | |
- void mulleft( Moebius const &a );
 | *this := a * (*this) | |
- void invert( Moebius const &a );
 | *this := a^(-1) | |
- void invert();
 | *this := (*this)^(-1) | |
- void rotation( Real a, Real b, Real x, Real y, Real z );
 | Sets *this to a rotation FLT This FLT is the element of SO(4) which rotates the (1,v) plane by the angle a and rotates the (1,v)-perp plane by the angle b The orientation of the FLT is positive with 1 rotating toward v NOTE: v = quat(0,x,y,z) must have length one | |
- void rotation( Real a, Real b, A const &s, A const &t );
 | Sets *this to a rotation FLT This FLT is the element of SO(4) which rotates the (s,t) plane by angle a and rotates the (s,t)-perp plane by angleb Tthe orientation of the FLT is positive with s rotating toward v NOTE: s, t must be orthonormal | |
- void translation( Real r, Real x, Real y, Real z );
 | sets *this to a translation FLT {{1, q},{0, 1}}, where q = quat(r,x,y,z) | |
- void inversion( Real r, Real x, Real y, Real z );
 | sets *this to an inversion FLT {{1, 0},{q, 1}}, where q = quat(r,x,y,z) | |
- void scale( Real s );
 | sets *this to an scale FLT (a,b,c,d) = (s,0,0,1) | |
- void apply( A &x );
 | apply *this to x | |
- friend std::ostream &operator<< NULL_TMPL_ARGS ( std::ostream &, Moebius<A> const &);
- A _a, _b, _c, _d;
protected:
private:
|