I spotted the ShewchuksDeterminant class in the development trunk for the JTS.  
Congratulations on a truly ambitious bit of work. A Java port of Shewchuk's 
original robust predicate code   could not have been an easy task (looking at 
the comments, I see you even found a bug in the original).  Also, I think the 
JTS version is cleanly coded and the developer (Tomas Fa?) made some good 
design choices.
 
I have some questions about the code.  
 
First off, the ShewchuksDeterminant class does not appear to be integrated into 
the main source branch.  Will it be moving into the standard JTS distribution?  
If so, when?
 
Second, I notice that the implementation does not use the "strictfp" keyword. 
The strictfp keyword is sometimes used in modules that perform extended 
precision floating-point operations (for example, JTS's DD.java class). Before 
I discovered the JTS implementation, I was thinking about doing my own Java 
port of Shewchuk's "robust predicates" and I wondered whether this would be 
necessary. Shewchuk mentions issues with Intel CPUs at 
http://www.cs.cmu.edu/~quake/robust.pc.html noting that they "use extended 
precision internal floating-point registers [that] defeat Dekker's standard 
techniques for computing the roundoff error for a floating-point operation."  
Could this issue affect the current implementation? Did the JTS implementers 
look in to this issue and decide it wasn't necessary? If so, I would be 
interested in hearing more about their findings.
 
Finally, I was wondering whether there were plans to implement Shewchuk's 
"inCircle" predicate.  While the JTS TrianglePredicates class does implement 
inCircle methods, a full-blown Java implementation of Shewchuk's techniques 
would be a valuable addition.
 
Gary
 
 
 
-----------------------------------------------------------------------------------------------
Gary W. Lucas, Senior Software Engineer
Sonalysts, Inc.
215 Parkway North
Waterford, CT 06385
(860) 326-3682
41-22-12.35 N / 72-10-07.54 W  (USNG/MGRS:  18T YL 36787 83711)
Computer Programming is the Art of the Possible
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Jts-topo-suite-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user

Reply via email to