Class RobustDeterminant

Hierarchy: Object , RobustDeterminant
public class RobustDeterminant
Implements an algorithm to compute the sign of a 2x2 determinant for double precision values robustly. It is a direct translation of code developed by Olivier Devillers.

The original code carries the following copyright notice:

 ************************************************************************
  Author : Olivier Devillers
  Olivier.Devillers@sophia.inria.fr
  http:/www.inria.fr:/prisme/personnel/devillers/anglais/determinant.html

  Relicensed under EDL and EPL with Permission from Olivier Devillers

 *************************************************************************

 *************************************************************************
               Copyright (c) 1995  by  INRIA Prisme Project
                   BP 93 06902 Sophia Antipolis Cedex, France.
                            All rights reserved
 *************************************************************************
  

Other

  • version: 1.7
public static int signOfDet2x2(double x1, double y1, double x2, double y2)
Computes the sign of the determinant of the 2x2 matrix with the given entries, in a robust way.
Returns:
-1 if the determinant is negative,
1 if the determinant is positive,
0 if the determinant is 0.
public static int orientationIndex(Coordinate p1, Coordinate p2, Coordinate q)
Returns the index of the direction of the point q relative to a vector specified by p1-p2.
Parameters:
p1 - p1 the origin point of the vector
p2 - p2 the final point of the vector
q - q the point to compute the direction to
Returns:
1 if q is counter-clockwise (left) from p1-p2
-1 if q is clockwise (right) from p1-p2
0 if q is collinear with p1-p2