与平面和空间打交道的计算几何

时间:2018-09-18 23:48:13   收藏:0   阅读:289

 

计算几何基础

Jack Straws(POJ 1127)


 

计算误差

对于double类型,尾数部分大致相当于10进制下的15位,多数情况下,就其计算结果而言,精度已经足够了,但当我们要比较两个计算后的结果时,就需要特别注意。由于误差,原本应该相等的结果有可能实际上并不相等。比较包含舍入误差的浮点数时所采用的方法,一般是选取合适的足够小的常数EPS,按如下规则处理:

a<0→a<-EPS

a<=0→a<EPS

a==0→fabs(a)<EPS

在大多数计算结果不是太大的情况下,都可以使用该方法处理。在比较大的结果时要格外注意,假设所取的EPS为10-10,现在要求对因为误差导致原本相等却实际不等的大约108大小的两个数作差,并判断是否等于0,由于double的精度只有约十进制15位,所得差的绝对值将大于EPS,所以会被误判为不等。像这样,求两个非常接近的数的差时会发生有效位丢失,导致所得结果的有效数字位数大大减少。前面的程序所用的方法是,在进行浮点数减法时,如果两个数按相对误差比较是相等的就另结果为0,这样我们在计算的过程中处理了误差,所以在与0进行比较时,就可以不考虑误差直接比较了。


 

极限情况

White Bird (AOJ 2308)


 平面扫描

Coneology(POJ 2932)


 

凸包

Beauty Contest(POJ 2187)


 

数值积分

 Intersection of Two Prisms(AOJ 1313)

原文:https://www.cnblogs.com/Ymir-TaoMee/p/9628746.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!