大家好。我一直在寻找一个用于绘制hiperbolic螺旋的通用lisp例程,但找不到它。然而,Fuccaro有一个对数螺旋的脚本。由于我没有编程能力,可以重写脚本以使用以下等式吗
r=a/alpha
?
提前感谢
这是Fuccaro的对数螺线脚本(r=a*exp(b*alpha))
- ;|draw a logarithmic spiral
- Miklos Fuccaro [email="mfuccaro@hotmail.com"]mfuccaro@hotmail.com[/email]
- ---------------------August 2006-------|;
- (defun c:logsp( / a b a1 ori osmode cmdecho)
- ;a,b=curve paramethers
- ;a1 =angular increment
- ;ori=origin; set to the origin of the UCS
- (princ "logarithmic spiral R=a*exp(b*alpha)")
- (setq a (getreal "\na=")
- b (getreal "\tb="))
- (setq a1 0.1 alpha (- a1) ori '(0 0 0))
- (if (and a b)
- (progn
- (setq osmode (getvar "osmode")
- cmdecho (getvar "cmdecho"))
- (setvar "osmode" 0)
- (setvar "cmdecho" 0)
- (command "pline")
- (repeat 1000 ;nr of points
- (command (polar ori (setq alpha (+ alpha a1)) (* a (exp (* b alpha)))))
- )
- (command "")
- (setvar "osmode" osmode)
- (setvar "cmdecho" cmdecho)
- )
- (princ "Invalid input!")
- )
- (princ)
- )
|