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,...).
  Author:
    Konrad Polthier
  Version:
    27.12.99, 1.10 revised (kp) Converted to Java.
    00.00.92, 1.00 created (kp) Original C code.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PuLorentz()`

  - ### Method Summary

    All Methods Static Methods Concrete 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

"

The software JavaView? is copyright protected. All Rights Reserved.
"