public class PuProj
extends java.lang.Object
Coordinate system in Lorentz Rn+1 has signature (1,..,1,-1).
Constructor and Description |
---|
PuProj() |
Modifier and Type | Method and Description |
---|---|
static void |
diffKlein2Lorentz(PdMatrix diffMat,
PdVector p)
Compute differential of projection map of H3 from Klein ball into
Lorentz model at given point in Klein ball.
|
static void |
diffPoincare2Lorentz(PdMatrix diffMat,
PdVector p)
Compute differential of projection map of H3 from Poincare ball into
Lorentz model at given point in Poincare ball.
|
static void |
diffStereoInvR3_to_S3(PdMatrix diffMat,
PdVector p)
Compute differential of inverse stereographic projection R3 to S3.
|
static void |
diffStereoS3_to_R3(PdMatrix diffMat,
PdVector p)
Compute differential of stereographic projection S3 to R3 with projection center (1,0,0,0).
|
static void |
klein2Lorentz(PdVector pl,
PdVector p)
Projection from Klein ball in Rn into Lorentz model in Rn+1 of n-dim hyperbolic space.
|
static void |
klein2Poincare(PdVector p,
PdVector pk)
Projection from Klein ball to Poincare ball of n-dim hyperbolic space.
|
static void |
klein2Uhm(PdVector pu,
PdVector p)
Projection of H3 from Klein ball to UHM of n-dim hyperbolic space.
|
static void |
lorentz2Klein(PdVector p,
PdVector pl)
Projection from Lorentz model in Rn+1 into Klein ball in Rn of n-dim hyperbolic space.
|
static void |
lorentz2Poincare(PdVector p,
PdVector pl)
Projection from Lorentz model in Rn+1 into Poincare ball in Rn of n-dim hyperbolic space.
|
static void |
lorentz2Uhm(PdVector p,
PdVector pl)
Projection from Lorentz model in Rn+1 into UHM in Rn of n-dim hyperbolic space.
|
static void |
poincare2Klein(PdVector pk,
PdVector p)
Projection from Poincare ball to Klein ball of n-dim hyperbolic space.
|
static void |
poincare2Lorentz(PdVector pl,
PdVector p)
Projection from Poincare ball in Rn into Lorentz model in Rn+1 of n-dim hyperbolic space.
|
static void |
poincare2Uhm(PdVector pu,
PdVector p)
Projection of H3 from Poincare ball to UHM of n-dim hyperbolic space.
|
static void |
stereographic(PdVector p,
PdVector pl)
Stereographic projection of a sphere Sn into Rn with projection center (0,..,0,1).
|
static void |
stereoInvR3_to_S3(PdVector pl,
PdVector p)
Projection from Rn p=(a,b,c) to Sn pl=(x,y,z,t).
|
static void |
stereoS3_to_R3(PdVector p,
PdVector pl)
Deprecated.
use stereographic(PdVector, PdVector)
|
static void |
uhm2Klein(PdVector p,
PdVector pu)
Projection from UHM to Klein ball of n-dim hyperbolic space.
|
static void |
uhm2Lorentz(PdVector pl,
PdVector p)
Projection from UHM in Rn into Lorentz model in Rn+1 of n-dim hyperbolic space.
|
static void |
uhm2Poincare(PdVector p,
PdVector pu)
Projection from UHM to Poincare ball of n-dim hyperbolic space.
|
public static void lorentz2Klein(PdVector p, PdVector pl)
(a, b, c) = (x, y, z)/t
.
Coordinate system in Lorentz R4 has signature (1,1,1,-1).
The parameters may be identical vectors.p
- resulting vector in Klein ballpl
- argument vector in Lorentz modelpublic static void klein2Lorentz(PdVector pl, PdVector p)
(t, x, y, z) = (t, t * a, t * b, t * c) with t = 1/sqrt(1 - |p|^2)
Coordinate system in Lorentz R4 has signature (1,1,1,-1).
The parameters may be identical vectors.p
- argument vector in Klein ballpl
- resulting vector in Lorentz modelpublic static void diffKlein2Lorentz(PdMatrix diffMat, PdVector p)
diffMat
- resulting differential matrix of size 4*3p
- argument vector of size 3 in Klein ballpublic static void lorentz2Poincare(PdVector p, PdVector pl)
(a, b, c) = (x, y, z)/(1 + t)
Coordinate system in Lorentz R4 has signature (1,1,1,-1).
The parameters may be identical vectors.p
- resulting vector in Poincare ballpl
- argument vector in Lorentz modelpublic static void poincare2Lorentz(PdVector pl, PdVector p)
(t, x, y, z) = (t, (1 + t) * a, (1 + t) * b, (1 + t) * c)
with t = (1 + |p|^2)/(1 - |p|^2), 1 + t = 2/(1 - |p|^2)
.
Coordinate system in Lorentz R4 has signature (1,1,1,-1).
The parameters may be identical vectors.pl
- resulting vector in Lorentz modelp
- argument vector in Poincare ballpublic static void diffPoincare2Lorentz(PdMatrix diffMat, PdVector p)
diffMat
- resulting differential matrix of size 4*3p
- argument vector of size 3 in Klein ballpublic static void lorentz2Uhm(PdVector p, PdVector pl)
(a, b, c) = (x, y, 1)/(t - z)
Coordinate system in Lorentz Rn+1 has signature (1,..,1,-1).
The parameters may be identical vectors.p
- resulting vector in Upper Halfspace modelpl
- argument vector in Lorentz modelpublic static void uhm2Lorentz(PdVector pl, PdVector p)
(x, y, z, t) = (2 x, 2 y, t - 1, 1 + t)/(2 * z)
with t = |p|^2
.
Coordinate system in Lorentz Rn+1 has signature (1,..,1,-1).
The parameters may be identical vectors.pl
- resulting vector in Lorentz modelp
- argument vector in Upper Halfspace modelpublic static void poincare2Klein(PdVector pk, PdVector p)
(a, b, c) = 2/(1-|p|^2) * (x, y, z)
The parameters may be identical vectors.pk
- resulting vector in Klein ballp
- argument vector in Poincare ballpublic static void klein2Poincare(PdVector p, PdVector pk)
(a, b, c) = (x, y, z) / (1+sqrt(1-|p|^2))
The parameters may be identical vectors.p
- resulting vector in Poincare ballpk
- argument vector in Klein ballpublic static void poincare2Uhm(PdVector pu, PdVector p)
(a, b, c) = (2 x, 2 y, 1 - |p|^2)/(x^2 + y^2 + (z - 1)^2)
.
The parameters may be identical vectors.pu
- resulting vector in Upper Halfspace modelp
- argument vector in Poincare ballpublic static void uhm2Poincare(PdVector p, PdVector pu)
(a, b, c) = (2 x, 2 y, |p|^2 - 1)/(x^2 + y^2 + (z + 1)^2)
.
The parameters may be identical vectors.p
- resulting vector of size 3 in Poincare ballpu
- argument vector of size 3 in Upper Halfspace modelpublic static void klein2Uhm(PdVector pu, PdVector p)
(a, b, c) = (x, y, 1 - |p|^2/(1 + sqrt(1 - |p|^2)))/(1 - z)
.
The parameters may be identical vectors.pu
- resulting vector in Upper Halfspace modelp
- argument vector in Klein ballpublic static void uhm2Klein(PdVector p, PdVector pu)
(a, b, c) = (2 x, 2 y, |p|^2 - 1)/(1 + |p|^2)
.
The parameters may be identical vectors.p
- resulting vector in Klein ballpu
- argument vector in Upper Halfspace modelpublic static void stereoS3_to_R3(PdVector p, PdVector pl)
public static void stereographic(PdVector p, PdVector pl)
(a_1, .., a_n) = (x_1, ..., x_n)/(1 - x_n+1)
.
The parameters may be identical vectors of any dimension.p
- resulting vector of size n in euclidean spacepl
- argument vector of size n+1 in Snpublic static void diffStereoS3_to_R3(PdMatrix diffMat, PdVector p)
diffMat
- resulting 3*4 differential matrix of size 4*3p
- argument vector of size 3 in Klein ballpublic static void stereoInvR3_to_S3(PdVector pl, PdVector p)
(x, y, z, t) = ((1 + t) * a, (1 + t) * b, (1 + t) * c, t)
with t = (1 - |p|^2)/(1 + |p|^2), 1 + t = 2/(1 + |p|^2)
.
The parameters may be identical vectors.pl
- resulting vector in Snp
- argument vector in Euclidean space Rn"