public class ComponentLine2DDistance extends java.lang.Object implements ClusterElementFunctions<ComponentLine2D>
Modifier and Type | Field and Description |
---|---|
private DistanceFunctionType |
distanceType |
DF
Constructor and Description |
---|
ComponentLine2DDistance(DistanceFunctionType distanceType) |
Modifier and Type | Method and Description |
---|---|
static double |
areaLineDistance(java.awt.geom.Point2D[] line1,
java.awt.geom.Point2D[] line2)
Computes the distance between two lines by computing the area stretching between them.
|
static double |
curveSlope(java.awt.geom.Point2D start,
java.awt.geom.Point2D end)
Computes the slope of a line/curve between the given points.
|
double |
distance(ComponentLine2D line1,
ComponentLine2D line2) |
double |
distance(java.awt.geom.Point2D[] points1,
java.awt.geom.Point2D[] points2) |
static double |
editLineDistance(java.awt.geom.Point2D[] line1,
java.awt.geom.Point2D[] line2)
Computes the distance between two lines in terms of edit operations necessary to move one line onto the other.
|
static double |
euclideanLineDistance(java.awt.geom.Point2D[] line1,
java.awt.geom.Point2D[] line2)
Computes the distance between two lines in terms of absolute distances between single segments.
|
static double |
euclideanLineDistanceDifferentNumberOfStops(java.awt.geom.Point2D[] line1,
java.awt.geom.Point2D[] line2) |
static ClusterElementFunctions<ComponentLine2D> |
getEuclidean() |
int |
getIndexOfLineClosestToMean(Cluster<? extends ComponentLine2D> elements) |
private static java.awt.geom.Point2D |
getNextValidPoint(java.awt.geom.Point2D[] line,
int index) |
private static java.awt.geom.Point2D |
getPreviousValidPoint(java.awt.geom.Point2D[] line,
int index) |
static boolean |
linesParallel(java.awt.geom.Point2D line1Begin,
java.awt.geom.Point2D line1End,
java.awt.geom.Point2D line2Begin,
java.awt.geom.Point2D line2End)
Computes if two lines are parallel to each other, by comparing their slopes.
|
ComponentLine2D |
meanObject(Cluster<? extends ComponentLine2D> elements) |
static double |
minimumEuclideanLineDistance(java.awt.geom.Point2D[] line1,
java.awt.geom.Point2D[] line2)
Computes the distance between two lines in terms of distances between single segments.
|
java.lang.String |
toString(Cluster<? extends ComponentLine2D> elements) |
private DistanceFunctionType distanceType
public ComponentLine2DDistance(DistanceFunctionType distanceType)
public static ClusterElementFunctions<ComponentLine2D> getEuclidean()
public double distance(ComponentLine2D line1, ComponentLine2D line2)
distance
in interface ClusterElementFunctions<ComponentLine2D>
public double distance(java.awt.geom.Point2D[] points1, java.awt.geom.Point2D[] points2)
public static double euclideanLineDistance(java.awt.geom.Point2D[] line1, java.awt.geom.Point2D[] line2)
private static java.awt.geom.Point2D getNextValidPoint(java.awt.geom.Point2D[] line, int index)
private static java.awt.geom.Point2D getPreviousValidPoint(java.awt.geom.Point2D[] line, int index)
public static double euclideanLineDistanceDifferentNumberOfStops(java.awt.geom.Point2D[] line1, java.awt.geom.Point2D[] line2)
public static double minimumEuclideanLineDistance(java.awt.geom.Point2D[] line1, java.awt.geom.Point2D[] line2)
public static double editLineDistance(java.awt.geom.Point2D[] line1, java.awt.geom.Point2D[] line2)
public static boolean linesParallel(java.awt.geom.Point2D line1Begin, java.awt.geom.Point2D line1End, java.awt.geom.Point2D line2Begin, java.awt.geom.Point2D line2End)
public static double curveSlope(java.awt.geom.Point2D start, java.awt.geom.Point2D end)
public static double areaLineDistance(java.awt.geom.Point2D[] line1, java.awt.geom.Point2D[] line2)
public ComponentLine2D meanObject(Cluster<? extends ComponentLine2D> elements)
meanObject
in interface ClusterElementFunctions<ComponentLine2D>
public int getIndexOfLineClosestToMean(Cluster<? extends ComponentLine2D> elements)
public java.lang.String toString(Cluster<? extends ComponentLine2D> elements)
toString
in interface ClusterElementFunctions<ComponentLine2D>