ジガヤ戏 发表于 2012-4-21 23:43:23

为什么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想画一个键,可是圆弧画不出来,程序调了一个晚上,本人感觉是没问题的,想麻烦大家看看问题到底出在哪里呢?

Andyhon 发表于 2012-4-22 08:17:20

这样有结果
(squ 0 0 2 3. 4. 5.)
但不知是否合于所求

xyh 发表于 2012-4-22 11:25:28

1、命令时关闭捕捉;
2、2个arc命令中角度需由弧度转化为度。

ジガヤ戏 发表于 2012-4-22 23:24:55

恩,谢谢楼上两位了,改成角度就好了

梦醒才知原是梦 发表于 2012-5-4 11:11:47

这是要实现什么功能
页: [1]
查看完整版本: 为什么arc画不出圆弧