jv.vecmath

Class PuLorentz

• java.lang.Object
• jv.vecmath.PuLorentz

• public class PuLorentz
extends java.lang.Object
Utility methods for calculations in Lorentz model of hyperbolic space. Coordinate system in Lorentz R4 usually has signature (-1,1,1,...).
• Constructor Detail

• PuLorentz

public PuLorentz()
• Method Detail

• abs

public static double abs(PdVector p,
PdVector sign)
Compute absolute value of point in Minkowski space.
Parameters:
p - point in Minkowski space
sign - Signature of space form
Returns:
absolute value
• sqrAbs

public static double sqrAbs(PdVector p,
PdVector sign)
Compute square of absolute value of point in Minkowski space.
Parameters:
p - point in Minkowski space
sign - Signature of space form
Returns:
square of absolute value
• distMinkowski

public static double distMinkowski(PdVector p,
PdVector q,
PdVector sign)
Compute distance of two points in Minkowski space by taking euclidean different and norm with respect to signature metric. dist = |p-q|_L
Parameters:
p - point in Minkowski space
q - point in Minkowski space
sign - Signature of space form
Returns:
Minkowski distance of both points
• sqrDistMinkowski

public static double sqrDistMinkowski(PdVector p,
PdVector q,
PdVector sign)
Compute square distance of two points in Minkowski space by taking euclidean different and square norm with respect to signature metric. dist = (|p-q|_L)^2
Parameters:
p - point in Minkowski space
q - point in Minkowski space
sign - Signature of space form
Returns:
Square Minkowski distance of both points
• normalize

public static void normalize(PdVector p,
PdVector sign)
Normalize Minkowski length of point. |v|_L == 1.
Parameters:
p - point in Minkowski space
sign - Signature of space form
• setLength

public static void setLength(PdVector p,
double length,
PdVector sign)
Set Minkowski length of point to given length. |v|_L == length
Parameters:
p - point in Minkowski space
sign - Signature of space form
• dot

public static double dot(PdVector p,
PdVector q,
PdVector sign)
Scalar product of two vectors in Lorentz model of hyperbolic space.
Parameters:
p - point in Lorentz model in R4_L
q - point in Lorentz model in R4_L
sign - Signature of space form
• dist

public static double dist(PdVector p,
PdVector q,
PdVector sign)
Distance of two points in Lorentz model of hyperbolic space.
Parameters:
p - point in Lorentz model in R4_L
q - point in Lorentz model in R4_L
sign - Signature of space form
• distToOrigin

public static double distToOrigin(PdVector p,
PdVector sign)
Distance of a point and the origin in Lorentz model of hyperbolic space.
Parameters:
p - point in Lorentz model in R4_L
sign - Signature of space form
• getTangent

public static void getTangent(PdVector tangent,
PdVector p,
PdVector q,
PdVector sign)
Compute unit tangent vector at point p of geodesic from p to q in Lorentz model of hyperbolic space.
Parameters:
tangent - resulting unit length tangent vector at p of geodesic from p to q
p - point in Lorentz model in R4_L
q - point in Lorentz model in R4_L
sign - Signature of space form
• getTangentAtOrigin

public static void getTangentAtOrigin(PdVector tangent,
PdVector p,
PdVector sign)
Compute unit tangent vector at origin of geodesic to point p in Lorentz model of hyperbolic space.
Parameters:
tangent - resulting unit length tangent vector at origin of geodesic to p
p - point in Lorentz model in R4_L
sign - Signature of space form
• translate2Origin

public static void translate2Origin(PdMatrix mat,
PdVector p,
PdVector sign)
Compute translation 4*4 matrix to move a point p to origin in Lorentz model of hyperbolic space.
Parameters:
mat - resulting translation 4*4 matrix to move a point p to origin
p - point in Lorentz model in R4_L
sign - Signature of space form
• translate2Point

public static void translate2Point(PdMatrix mat,
PdVector p,
PdVector sign)
Compute translation 4*4 matrix to move a point p to origin in Lorentz model of hyperbolic space.
Parameters:
mat - resulting translation 4*4 matrix to move origin to point p
p - point in Lorentz model in R4_L
sign - Signature of space form
• translate

public static void translate(PdMatrix mat,
PdVector p,
PdVector q,
PdVector sign)
Compute translation 4*4 matrix to move a point p to a point q in Lorentz model of hyperbolic space.
Parameters:
mat - resulting translation 4*4 matrix to move a point p to point q
p - point in Lorentz model in R4_L
q - point in Lorentz model in R4_L
sign - Signature of space form
• rotateAtOrigin

public static void rotateAtOrigin(PdMatrix mat,
PdVector p,
double angle,
PdVector sign)
Compute rotation 4*4 matrix to rotate tangent space at origin around line in Lorentz model of hyperbolic space.
Parameters:
mat - resulting rotation 4*4 matrix to rotate around line through origin
p - point in Lorentz model in R4_L specifying geodesic around to rotate
angle - angle in degrees specifying amount to rotate
sign - Signature of space form
• rotateAroundLine

public static void rotateAroundLine(PdMatrix mat,
PdVector p,
PdVector q,
double angle,
PdVector sign)
Compute transformation 4*4 matrix to rotate around geodesic connecting two given points.
Parameters:
mat - resulting rotation 4*4 matrix to rotate around line through origin
p - (p,q): two points in Lorentz model in R4_L specifying geodesic around to rotate
q - (p,q): two points in Lorentz model in R4_L specifying geodesic around to rotate
angle - angle in degrees specifying amount to rotate
sign - Signature of space form
• reflectAtOrigin

public static void reflectAtOrigin(PdMatrix mat,
PdVector q,
PdVector r,
PdVector sign)
Compute transformation 4*4 matrix to reflect at plane through origin spanned by two given points.
Parameters:
mat - resulting reflection 4*4 matrix to reflect at plane through origin
q - (q,r): two points in Lorentz model in R4_L specifying plane to reflect at
r - (q,r): two points in Lorentz model in R4_L specifying plane to reflect at
sign - Signature of space form
• reflectAtPlane

public static void reflectAtPlane(PdMatrix mat,
PdVector p,
PdVector q,
PdVector r,
PdVector sign)
Compute transformation 4*4 matrix to reflect at arbitrary plane spanned by three given points.
Parameters:
mat - resulting reflection 4*4 matrix to reflect at plane
p - (p,q,r): three points in Lorentz model in R4_L specifying plane to reflect at
q - (p,q,r): three points in Lorentz model in R4_L specifying plane to reflect at
r - (p,q,r): three points in Lorentz model in R4_L specifying plane to reflect at
sign - Signature of space form
• invertAtPoint

public static void invertAtPoint(PdMatrix mat,
PdVector p,
PdVector sign)
Compute transformation 4*4 matrix to invert at given point.
Parameters:
mat - resulting inversion 4*4 matrix to invert at given point
p - point in Lorentz model in R4_L specifying center of inversion
sign - Signature of space form