为什么arc画不出圆弧
(defun squ(x0 y0 n w r0 r1)(setq an (/ (* 2 pi) n))
(setq dan (/ (* 2 pi) n))
(setq a (/ (* 2 pi) (* 2 n)))
(setq dt (/ (* pi 2) 72) b 0)
(setq ar 0)
(while (<= an ( * 2 pi))
(setq p1 (polar (list x0 y0) a r1 ))
(setq p2 (polar p1 (+ a (* 1.5 pi))(/ w 2)))
(setq p3 (polar p2 (+ a pi) (-r1(sqrt (- (* r0 r0) (* (/ w 2) (/ w 2)))))))
(setq p4 (polar p3 (+ a (* 0.5 pi) )w))
(setq p5 (polar p4 a (- r1(sqrt (- (* r0 r0) (* (/ w 2) (/ w 2)))))))
(command "pline" p3 "w" 0.5 0.5 p2 p5 p4 "")
(command "arc" "c" (list x0 y0) (polar (list x0 y0) ar r0) "a" (atan (/ (- (cadr p3) y0) (- (car p3) x0))))
(command "arc" "c" (list x0 y0) p4 "a" (atan (/ (- (cadr p3) y0) (- (car p3) x0))))
(setq a (+ an a))
(setq an (+ an dan))
(setq ar (+ ar an))
)
(command "redraw")
)
LZ想画一个键,可是圆弧画不出来,程序调了一个晚上,本人感觉是没问题的,想麻烦大家看看问题到底出在哪里呢?
这样有结果
(squ 0 0 2 3. 4. 5.)
但不知是否合于所求 1、命令时关闭捕捉;
2、2个arc命令中角度需由弧度转化为度。 恩,谢谢楼上两位了,改成角度就好了 这是要实现什么功能
页:
[1]