螺线方程
r = a + b*theta
代码
(defun c:luoxuan
(/)
(setq a (getint "请输入a值: "))
(setq d (getint "请输入螺距值: "))
(setq c (getint "请输入圈数: "))
(setq b (/ d (* 2 pi)));螺距=2pib
(setq r (* 0.005 pi))
(setq count (/ (* c 2 pi) r))
(type count)
(setq cnt (fix count ))
(type cnt)
(setq n 0)
(setq orgPt (list a 0) )
(setq theta (* n r) )
(setq dist (+ a (* b theta) ) )
(command "pline")
(repeat cnt
(setq pt (polar orgPt theta dist))
; (prin1 pt)
(command pt)
(setq n (+ 1 n) )
; (prin1 n)
(setq theta (* n r) )
; (prin1 theta)
(setq dist (+ a (* b theta) ) )
; (prin1 dist)
)
(command)
)
复制上面的代码,保存为luoxuan.lsp文本文件