# Beta2Origin: Moebius transformation In conformal: Conformal mapping from a polygon to a disk

## 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``` ```Beta2Origin(z, beta) Origin2Beta(z, beta) RBeta2Origin(x, x0) ROrigin2Beta(x, x0) matrixBeta2Origin(x, x0) matrixOrigin2Beta(x, x0) ```

## 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, [email protected]

`C2R`
 ``` 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) ```