mfc.geometry
Class ComplexProjective1

java.lang.Object
  extended bymfc.vector.Complex2
      extended bymfc.geometry.ComplexProjective1
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class ComplexProjective1
extends Complex2
implements java.io.Serializable, java.lang.Cloneable

A class that represents points in 1-dimensional complex projective space, also known as the Riemann sphere.

The elements of a Complex2 are interpreted as homogeneous coordinates.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class mfc.vector.Complex2
aIm, aRe, bIm, bRe, EPS
 
Constructor Summary
ComplexProjective1()
          Creates the point with homogeneous coordinates (1,0).
ComplexProjective1(Complex a, Complex b)
          Creates the point with homogenous coordinates (a, b).
ComplexProjective1(ComplexProjective1 p)
          Creates a copy of p.
ComplexProjective1(double theARe, double theAIm, double theBRe, double theBIm)
          Creates the point with homogenous coordinates (a, b), where a = theARe + i theAIm and b = theBRe + i theBIm.
 
Method Summary
 void apply(Moebius m)
          Apply a Moebius transformation.
 boolean equals(ComplexProjective1 c)
          Indicates whether some other ComplexProjective1 is "equal to" this one.
 boolean equals(double aRe1, double aIm1, double bRe1, double bIm1)
           
static boolean equals(double aRe1, double aIm1, double bRe1, double bIm1, double aRe2, double aIm2)
           
static boolean equals(double aRe1, double aIm1, double bRe1, double bIm1, double aRe2, double aIm2, double bRe2, double bIm2)
           
 boolean equals(java.lang.Object o)
          Indicates whether some other object is "equal to" this one.
 void projectTo(Complex z)
           Project to the complex plane.
 void projectTo(Real3 v)
           Project stereographically to the sphere in real 3-space.
 
Methods inherited from class mfc.vector.Complex2
assign, assign, assign, assignTimes, assignTimes, assignZero, copy, getA, getA, getB, getB, setA, setB, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ComplexProjective1

public ComplexProjective1()
Creates the point with homogeneous coordinates (1,0). This is the north pole of the Riemann sphere.


ComplexProjective1

public ComplexProjective1(Complex a,
                          Complex b)
Creates the point with homogenous coordinates (a, b).


ComplexProjective1

public ComplexProjective1(ComplexProjective1 p)
Creates a copy of p.


ComplexProjective1

public ComplexProjective1(double theARe,
                          double theAIm,
                          double theBRe,
                          double theBIm)
Creates the point with homogenous coordinates (a, b), where a = theARe + i theAIm and b = theBRe + i theBIm.

Method Detail

apply

public void apply(Moebius m)
Apply a Moebius transformation.


projectTo

public final void projectTo(Complex z)

Project to the complex plane.

The point with coordinates (1,0) is sent to infinity.
The point with coordinates (0,1) is sent to zero.

Simply assigns a / b to z.

Parameters:
z - is set to a/b.

projectTo

public final void projectTo(Real3 v)

Project stereographically to the sphere in real 3-space.

The point with coordinates (1,0) is sent to the north pole (0,0,1).
The point with coordinates (0,1) is sent to the south pole (0,0,-1).

The components of v are set to
v.x = 2 Re(a conjugate(b)) / (|a|2 + |b|2)
v.y = 2 Im(a conjugate(b)) / (|a|2 + |b|2)
v.z = (|a|2 - |b|2) / (|a|2 + |b|2)
.

Parameters:
v - a Real3 used to hand over the result. Must not be null.

equals

public static final boolean equals(double aRe1,
                                   double aIm1,
                                   double bRe1,
                                   double bIm1,
                                   double aRe2,
                                   double aIm2,
                                   double bRe2,
                                   double bIm2)

equals

public static final boolean equals(double aRe1,
                                   double aIm1,
                                   double bRe1,
                                   double bIm1,
                                   double aRe2,
                                   double aIm2)

equals

public final boolean equals(double aRe1,
                            double aIm1,
                            double bRe1,
                            double bIm1)

equals

public final boolean equals(java.lang.Object o)
Indicates whether some other object is "equal to" this one.


equals

public final boolean equals(ComplexProjective1 c)
Indicates whether some other ComplexProjective1 is "equal to" this one.