你没听懂
试试这个:
理论上,这些点是相等的:
- (setq p1 (list 1000 3000 0))
- (setq tp (inters
- (polar (list 1000 3000 0) (* pi 0.5) 1000)
- (polar (list 1000 4000 0) (* pi -0.5) 1000)
- (polar (list 1000 2000 0) pi 500)
- (polar (list 1500 2000 0) (* pi 0.5) 2000)
- ))
- (princ "\nEqual p1 tp : ") (prin1 (equal p1 tp))
- (princ "\nEqual p1 tp 1e-1 : ") (prin1 (equal p1 tp 1e-1))
- (princ "\nEqual p1 tp 1e-3 : ") (prin1 (equal p1 tp 1e-3))
- (princ "\nEqual p1 tp 1e-5 : ") (prin1 (equal p1 tp 1e-5))
- (princ "\nEqual p1 tp 1e-7 : ") (prin1 (equal p1 tp 1e-7))
- (princ "\nEqual p1 tp 1e-9 : ") (prin1 (equal p1 tp 1e-9))
- (princ "\nEqual p1 tp 1e-11 : ") (prin1 (equal p1 tp 1e-11))
- (princ "\nEqual p1 tp 1e-13 : ") (prin1 (equal p1 tp 1e-13))
- (princ "\nEqual p1 tp 1e-14 : ") (prin1 (equal p1 tp 1e-14))
但1e-13和1e-14返回零
这是计算机存储超过14位有效数字的方式。否则,你会得到看起来重复但实际上很接近但不精确的点。 |