CAD中的实数精度问题

在CAD建模中,由于计算机存储实数的精度限制,可能导致运算错误。文章介绍了实数精度问题及其影响,并提出解决方案:通过设置额外的容差精度,将实数转换为整数进行计算,最后再转换回实数,确保精度和连续性。提供了相关代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

     在CAD建模中,实数精度是个非常普遍的问题,计算机只能存储有限位数的实数,也就是一个无限精确的实数有可能被截断成了另一个数,而随着实数之间的运算这个误差就会累加,这时就有可能发生意想不到的致命错误。

     譬如举个一维的例子,有两个线段:

                                   AB  = [0,1],表示A在x=0点,B在x=1点

                                   CD =  [1, 2]

 

                           

     开始时AB和CD相邻,你可以认为它们是无缝相连的。你有个不算变态的要求:希望无论做完什么事情,也要保证它们是连接在一起的,就算一对恋人一样。好了,现在你做了个残忍的操作:把AB切成了三段:

                           

     有两种方法来计算AB分成三段时的点位置:

     第一种是每个点从原来的AB线段直接计算出来,我们假定计算精度是0.001:

                                   A = 0, A1 = 1/3 = 0.333, A2 = 2/3 &#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值