Class InhomogeneousLinearLeastSquaresLateration2DSolver
java.lang.Object
com.irurueta.navigation.lateration.LaterationSolver<P>
com.irurueta.navigation.lateration.InhomogeneousLinearLeastSquaresLaterationSolver<com.irurueta.geometry.Point2D>
com.irurueta.navigation.lateration.InhomogeneousLinearLeastSquaresLateration2DSolver
public class InhomogeneousLinearLeastSquaresLateration2DSolver
extends InhomogeneousLinearLeastSquaresLaterationSolver<com.irurueta.geometry.Point2D>
Linearly solves the lateration problem using an inhomogeneous solution.
-
Field Summary
Fields inherited from class com.irurueta.navigation.lateration.LaterationSolver
distances, EPSILON, estimatedPositionCoordinates, listener, locked, positions
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor.InhomogeneousLinearLeastSquaresLateration2DSolver
(com.irurueta.geometry.Circle[] circles) Constructor.InhomogeneousLinearLeastSquaresLateration2DSolver
(com.irurueta.geometry.Circle[] circles, LaterationSolverListener<com.irurueta.geometry.Point2D> listener) Constructor.InhomogeneousLinearLeastSquaresLateration2DSolver
(com.irurueta.geometry.Point2D[] positions, double[] distances) Constructor.InhomogeneousLinearLeastSquaresLateration2DSolver
(com.irurueta.geometry.Point2D[] positions, double[] distances, LaterationSolverListener<com.irurueta.geometry.Point2D> listener) Constructor.InhomogeneousLinearLeastSquaresLateration2DSolver
(LaterationSolverListener<com.irurueta.geometry.Point2D> listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncom.irurueta.geometry.Circle[]
Gets circles defined by provided positions and distances.com.irurueta.geometry.Point2D
Gets estimated position.int
Minimum required number of positions and distances.int
Gets number of dimensions of provided points.private void
internalSetCircles
(com.irurueta.geometry.Circle[] circles) Internally sets circles defining positions and Euclidean distances.void
setCircles
(com.irurueta.geometry.Circle[] circles) Sets circles defining positions and euclidean distances.Methods inherited from class com.irurueta.navigation.lateration.InhomogeneousLinearLeastSquaresLaterationSolver
getType, solve
Methods inherited from class com.irurueta.navigation.lateration.LaterationSolver
getDistances, getEstimatedPosition, getEstimatedPositionCoordinates, getListener, getPositions, internalSetPositionsAndDistances, isLocked, isReady, setListener, setPositionsAndDistances
-
Constructor Details
-
InhomogeneousLinearLeastSquaresLateration2DSolver
public InhomogeneousLinearLeastSquaresLateration2DSolver()Constructor. -
InhomogeneousLinearLeastSquaresLateration2DSolver
public InhomogeneousLinearLeastSquaresLateration2DSolver(com.irurueta.geometry.Point2D[] positions, double[] distances) Constructor.- Parameters:
positions
- known positions of static nodes.distances
- euclidean distances from static nodes to mobile node.- Throws:
IllegalArgumentException
- if either positions or distances are null, don't have the same length or their length is smaller than required (3 points).
-
InhomogeneousLinearLeastSquaresLateration2DSolver
public InhomogeneousLinearLeastSquaresLateration2DSolver(com.irurueta.geometry.Circle[] circles) Constructor.- Parameters:
circles
- circles defining positions and distances.- Throws:
IllegalArgumentException
- if circles is null or if length of circles array is less than 3.
-
-
Method Details
-
getCircles
public com.irurueta.geometry.Circle[] getCircles()Gets circles defined by provided positions and distances.- Returns:
- circles defined by provided positions and distances.
-
setCircles
Sets circles defining positions and euclidean distances.- Parameters:
circles
- circles defining positions and distances.- Throws:
IllegalArgumentException
- if circles is null or length of array of circles is less than 2.LockedException
- if instance is busy solving the lateration problem.
-
getNumberOfDimensions
public int getNumberOfDimensions()Gets number of dimensions of provided points.- Specified by:
getNumberOfDimensions
in classLaterationSolver<com.irurueta.geometry.Point2D>
- Returns:
- always returns 2 dimensions.
-
getMinRequiredPositionsAndDistances
public int getMinRequiredPositionsAndDistances()Minimum required number of positions and distances. At least 3 positions and distances will be required to linearly solve a 2D problem.- Specified by:
getMinRequiredPositionsAndDistances
in classLaterationSolver<com.irurueta.geometry.Point2D>
- Returns:
- minimum required number of positions and distances.
-
getEstimatedPosition
public com.irurueta.geometry.Point2D getEstimatedPosition()Gets estimated position.- Specified by:
getEstimatedPosition
in classLaterationSolver<com.irurueta.geometry.Point2D>
- Returns:
- estimated position.
-
internalSetCircles
private void internalSetCircles(com.irurueta.geometry.Circle[] circles) Internally sets circles defining positions and Euclidean distances.- Parameters:
circles
- circles defining positions and distances.- Throws:
IllegalArgumentException
- if circles is null or length of array of circles is less than 3.
-