这是我的疏忽,请把这句
(if (and (> sa (* pi 0.5)) (< sa (* pi 1.5))) (setq sa (- sa pi)))
改成
(if (and (> sa (* pi 0.5)) (<= sa (* pi 1.5))) (setq sa (- sa pi)))
即可。 到这,你发现没有,原来只要稍微改一下便能达到自己的要求,这就是学会编程的好处之一。另外,作为直接使用软件的用户,编程是困难的,但从另一个角度来说,用户自己编的程序才是最实用的。我不是机械专业,当时为了好玩才编了这个程序,所以一直没发现这个BUG,因为我几乎没用过。