boolean function ( Coordinate arg0 , Coordinate arg1 , Coordinate arg2 , Coordinate arg3 ) { Coordinate loc0 = Triangle . circumcentre ( arg0 , arg1 , arg2 ) ; double loc1 = arg0 . distance ( loc0 ) ; double loc2 = arg3 . distance ( loc0 ) - loc1 ; return loc2 <= 0 ; }
computes the incircle test using distance from the circumcentre . uses standard double-precision arithmetic . in general this does n't appear to be any more robust than the standard calculation . however , there is at least one case where the test point is far enough from the circumcircle that this test gives the correct answer . linestring 1507029.9878 518325.7547 , 1507022.1120341457 518332.8225183258 , 1507029.9833 518325.7458 , 1507029.9896965567 518325.744909031 concode_field_sep PlaceHolder placeHolder concode_field_sep boolean isInCircleNonRobust concode_elem_sep DD triAreaDDSlow concode_elem_sep boolean isInCircleRobust concode_elem_sep DD triAreaDDFast concode_elem_sep boolean isInCircleNormalized concode_elem_sep double triArea concode_elem_sep boolean isInCircleDDSlow concode_elem_sep boolean isInCircleDDNormalized concode_elem_sep void checkRobustInCircle concode_elem_sep boolean isInCircleDDFast