注释
合作者
|
我如何重现该问题?我多次点击 F 并没有发生任何不好的事情…… |
贡献者作者
|
问题是浮动“内部表示”,如果您多次点击 fit 2 屏幕并且比率接近 1.0,有时它可能变成 0.9999988,与 > 1.0 不匹配。 这是一种奇怪但预期的行为,正如在 bCNC 的其他问题中所见,它与臭名昭着的 IEEE 浮动表示有关,也许它还取决于 python 版本,因为内部数学做了一些小的改变,例如some 2.7 something 统一了内部整型和长整型。 别担心,我注意到在注意到奇怪的行为后打印缩放值时出现问题,如果您选择一些路径并进行缩放以适应该值接近 1.0 但由于近似错误在调整大小时会出现一些闪烁,(打印表述清楚)。 对于制表符和空格,由于 PEP8 空格是缩进 python 源代码的首选方式,而且 bCNC 源代码中“存在”许多其他错误,例如赋值和运算符周围的空格以及逗号后的空格(一些源文件引发 1400 PEP8 错误)。 问候 卡罗·D。 |
合作者
|
我在 python2 中再次尝试,它做了一些低调的奇怪事情。如果我多次按 F,它会来回“振动”一个像素。 |
合作者
|
现在我尝试了你的代码,它在 python2 和 python3 中也发生了。同样的问题…… |


嗨,我注意到有时在CNCCanvas.py CNCCanvas()中使用fit2screen函数,它的行为不稳定,或者更好的是不遵守比例。
按“适合屏幕”按钮 6 或 7 次会出现问题。
由于 float approssimation 问题会破坏代码:
zx 比例因子可能变为 0.99988,因此它被认为 < 0 并且以错误的方式使用了最大值(值 0.9998 为 1),由于浮点错误,简单的 >= 1.0 是不够的。
修改包含一些纠正因素的代码纠正错误的行为
问候
卡罗·D。