protected final int isLeft ( double [ ] a , double [ ] b , double [ ] o ) { final double cross = getRX ( a , o ) * getRY ( b , o ) - getRY ( a , o ) * getRX ( b , o ) ; if ( cross == 0 ) { // Compare manhattan distances - same angle! final double dista = Math . abs ( getRX ( a , o ) ) + Math . abs ( getRY ( a , o ) ) ; final double distb = Math . abs ( getRX ( b , o ) ) + Math . abs ( getRY ( b , o ) ) ; return Double . compare ( dista , distb ) ; } return Double . compare ( cross , 0 ) ; }
Test whether a point is left of the other wrt . the origin .