Description Usage Arguments Details Value Author(s) See Also Examples
Moebius transformations to map the unit circle to the unit circle and a point
beta
to the origin, or vice versa.
1 2 3 4 5 6 | Beta2Origin(z, beta)
Origin2Beta(z, beta)
RBeta2Origin(x, x0)
ROrigin2Beta(x, x0)
matrixBeta2Origin(x, x0)
matrixOrigin2Beta(x, x0)
|
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 |
x0 |
real vector representation of |
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.
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.
Nick Ellis, nick.ellis@csiro.au
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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.