数据处理超过精度范围的问题
最近做一个图形处理程序,需要计算出2点之间的斜率,采用double精度,但是当2点之间的直线接近水平和垂直,斜率过大或者过小的时候数据超过范围,就会产生错误。把精度换为long double也解决不了问题。各位大虾见多识广,不知道有没有什么好的解决办法!
[解决办法]
可以将坐标系旋转45度进行计算,然后将坐标系转回
[解决办法]
当你贴近x轴,斜率过小应该没啥问题吧?大不了你到时候用0表示。这个对于图形处理系统绝对够了
至于贴近y轴,任何数据类型都不可能保存的,因为这只在数学上有意义,所以一般而言在这种情况下我们应该用x=b这种解析式,而不是y=kx+b。
记住:当直线和y轴平行或者接近平行,任何数学工具都不可能给你一个“斜率”的,因为此时斜率是无意义的