Static analysis yields efficient exact integer arithmetic for computational geometry

被引:53
作者
Fortune, S [1 ]
VanWyk, CJ [1 ]
机构
[1] DREW UNIV, DEPT MATH & COMP SCI, MADISON, NJ 07940 USA
来源
ACM TRANSACTIONS ON GRAPHICS | 1996年 / 15卷 / 03期
关键词
adaptive precision; arithmetic; efficiency; exact integer arithmetic; geometric primitives; geometry; preprocessing; robustness;
D O I
10.1145/231731.231735
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Geometric algorithms are usually described assuming that arithmetic operations are performed exactly on real numbers. A program implemented using a naive substitution of floating-point arithmetic for real arithmetic can fail, since geometric primitives depend upon sign-evaluation and may not be reliable if evaluated approximately. Geometric primitives are reliable if evaluated exactly with integer arithmetic, but this degrades performance since software extended-precision arithmetic is required. We describe static-analysis techniques that reduce the performance cost of exact integer arithmetic used to implement geometric algorithms. We have used the techniques for a number of examples, including line-segment intersection in two dimensions, Delaunay triangulations, and a three-dimensional boundary-based polyhedral modeller. In general, the techniques are appropriate for algorithms that use primitives of relatively low algebraic total degree, e.g., those involving flat objects (points, lines, planes) in two or three dimensions. The techniques have been packaged in a preprocessor for reasonably convenient use.
引用
收藏
页码:223 / 248
页数:26
相关论文
共 36 条
[1]  
[Anonymous], 2 DIG PAR RES LAB
[2]  
Avnaim F., 1995, Proceedings of the Eleventh Annual Symposium on Computational Geometry, pC16
[3]  
Benouamer M. O., 1993, CCCG. Proceedings of the Fifth Canadian Conference on Computational Geometry, P73
[4]   ERROR-FREE BOUNDARY EVALUATION BASED ON A LAZY RATIONAL ARITHMETIC - A DETAILED IMPLEMENTATION [J].
BENOUAMER, MO ;
MICHELUCCI, D ;
PEROCHE, B .
COMPUTER-AIDED DESIGN, 1994, 26 (06) :403-416
[5]  
BENTLEY JL, 1979, IEEE T COMPUT, V28, P643, DOI 10.1109/TC.1979.1675432
[6]  
Brent R. P., 1978, ACM Transactions on Mathematical Software, V4, P71, DOI 10.1145/355769.355776
[7]  
BURNIKEL C, 1994, SPRINGER VERLAG LECT, V855, P227
[8]  
CARGILL T, 1992, C PLUS PLUS PROGRAMM
[9]  
CHANG J, 1993, P 5 CAN C COMP GEOM, P67
[10]  
CLARKSON KL, 1992, AN S FDN CO, P387