public class P5 extends Object
Pn
, P3
and Rn
.Modifier and Type | Field and Description |
---|---|
static int |
ELLIPTIC |
static int |
HYPERBOLIC |
static double[] |
LIE_POINT_AT_INFINITY |
static int |
LINE_SPACE |
static Logger |
logger |
static int |
SPHERE_SPACE |
Constructor and Description |
---|
P5() |
Modifier and Type | Method and Description |
---|---|
static boolean |
arePolarPoints(double[] p0,
double[] p1,
int metric) |
static boolean |
arePolarPoints(double[] p0,
double[] p1,
int metric,
boolean adaptTol) |
static double[] |
getIntersectionOfLineWithPolar(double[] dst,
double[] p0,
double[] p1,
double[] q,
int metric)
If the line determined by the points p0 and p1 is not completely contained
in the polar of q, then there is a unique intersection point of the line with the
polar (hyperplane).
|
static double |
getTolerance(double[] p0)
Calculates an adaptive tolerance depending on the scale of the first four coordinates.
|
static double |
innerProduct(double[] p0,
double[] p1,
int metric)
The following method has been optimized to avoid the matrix multiplications,
but should be thought of abstractly as p0.Q[sig].p1 where Q is the symmetric
form from the above list.
|
static boolean |
isOnQuadric(double[] p0,
int metric) |
static boolean |
isOnQuadric(double[] p0,
int metric,
boolean adaptTol) |
static double |
manhattenMetric(double[] p0,
int m)
Calculates the sum of absolute values for the first m entries of po.
|
static double[] |
normalize(double[] np,
double[] p,
int metric) |
public static final int ELLIPTIC
public static final int HYPERBOLIC
public static final double[] LIE_POINT_AT_INFINITY
public static final int LINE_SPACE
public static Logger logger
public static final int SPHERE_SPACE
public static boolean arePolarPoints(double[] p0, double[] p1, int metric)
public static boolean arePolarPoints(double[] p0, double[] p1, int metric, boolean adaptTol)
public static double[] getIntersectionOfLineWithPolar(double[] dst, double[] p0, double[] p1, double[] q, int metric)
p0
- p1
- q
- metric
- public static double getTolerance(double[] p0)
p0
- public static double innerProduct(double[] p0, double[] p1, int metric)
p0
- p1
- metric
- public static boolean isOnQuadric(double[] p0, int metric)
public static boolean isOnQuadric(double[] p0, int metric, boolean adaptTol)
public static double manhattenMetric(double[] p0, int m)
p0
- m
- public static double[] normalize(double[] np, double[] p, int metric)