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 Summary

Constructors
Constructor and Description
`PuLorentz()`
• ### Method Summary

Methods
Modifier and Type Method and Description
`static double` ```abs(PdVector p, PdVector sign)```
Compute absolute value of point in Minkowski space.
`static double` ```dist(PdVector p, PdVector q, PdVector sign)```
Distance of two points in Lorentz model of hyperbolic space.
`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.
`static double` ```distToOrigin(PdVector p, PdVector sign)```
Distance of a point and the origin in Lorentz model of hyperbolic space.
`static double` ```dot(PdVector p, PdVector q, PdVector sign)```
Scalar product of two vectors in Lorentz model of hyperbolic space.
`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.
`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.
`static void` ```invertAtPoint(PdMatrix mat, PdVector p, PdVector sign)```
Compute transformation 4*4 matrix to invert at given point.
`static void` ```normalize(PdVector p, PdVector sign)```
Normalize Minkowski length of point.
`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.
`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.
`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.
`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.
`static void` ```setLength(PdVector p, double length, PdVector sign)```
Set Minkowski length of point to given length.
`static double` ```sqrAbs(PdVector p, PdVector sign)```
Compute square of absolute value of point in Minkowski space.
`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.
`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.
`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.
`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.
• ### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### 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