Beta2Origin: Moebius transformation

Description Usage Arguments Details Value Author(s) See Also Examples

Description

Moebius transformations to map the unit circle to the unit circle and a point beta to the origin, or vice versa.

Usage

1
2
3
4
5
6

Arguments

z

a complex vector of points to transform.

beta

a complex vector of length 1. The (pre)image of the origin.

x

real vector or matrix representation of z.

x0

real vector representation of beta.

Details

The Moebius transform z -> (beta+z)/(1+Conj(beta)z) maps the unit disk to itself and the point beta to the origin. This is implemented in Beta2Origin; the reverse transformation is Origin2Beta. In the versions RBeta2Origin and ROrigin2Beta, the input and output use the real representation of complex values (see C2R). In the versions matrixBeta2Origin and matrixOrigin2Beta, the input and output use the two-column matrix representation.

Value

For Beta2Origin and Origin2Beta the transformed complex vector. For RBeta2Origin and ROrigin2Beta the real representation of the transformed complex vector. For matrixBeta2Origin and matrixOrigin2Beta, the two-column matrix representation of the transformed complex vector.

Author(s)

Nick Ellis, nick.ellis@csiro.au

See Also

C2R

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
CircleGrid <- function(nradial) { # create a random pattern to fill a disk
  r <- seq(0,1,len=nradial)
  nth <- pmax(1,ceiling(2*pi*r*(nradial-1)))
  th0 <- runif(nth,-pi/nth,pi/nth)
  list(
    x=unlist(lapply(1:nradial, function(i,r,nth,th0)
      r[i]*cos(th0[i]+seq(0,2*pi,len=nth[i]+1)[-nth[i]-1]),r=r,nth=nth,th0=th0)),
    y=unlist(lapply(1:nradial, function(i,r,nth,th0)
      r[i]*sin(th0[i]+seq(0,2*pi,len=nth[i]+1)[-nth[i]-1]),r=r,nth=nth,th0=th0))
  )
}
cDisk <- R2C(listxy2R(CircleGrid(30)))
centre <- R2C(c(0.5,-0.1))
cPred <- Origin2Beta(cDisk, centre)
cols <- hsv(h=Arg(cDisk)/2/pi+0.5,s=pmin(1,Mod(cDisk)))
par(mfrow=c(1,2))
plot(cDisk, col=cols, asp=1, pch=16, main="Colour wheel")
plot(cDisk, type='n', asp=1, main="Moebius transformation")
points(cPred, col=cols,pch=16)
points(centre, pch=4)

conformal documentation built on May 2, 2019, 5:47 p.m.