JavaView® v2.12

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,...).

Version:
27.12.99, 1.10 revised (kp) Converted to Java.
00.00.92, 1.00 created (kp) Original C code.
Author:
Konrad Polthier

Constructor Summary
PuLorentz()
           
 
Method Summary
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:
v - 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,q - two points 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,q - two points 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,q - two points 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,q - two points 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 - two points 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,q - two points 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,q - two points 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,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,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,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

JavaView® v2.12

The software JavaView® is copyright protected. All Rights Reserved.