计算机绘图autolisp程序作业一. 绘制平摆线 x=r(t-sint) y=r(1-cost) 0≤t≤2Π
编程:
(defun asin (x0 y0 r)
(setq dt (/ pi 36) tt 0 any (* 2 pi))
(command "pline")
(while (<= tt any)
(setq x1 (+ x0 (* r (- tt (sin tt)))))
(setq y1 (+ y0 (* r (- 1 (cos tt)))))
(command (list x1...
一. 绘制平摆线 x=r(t-sint) y=r(1-cost) 0≤t≤2Π
编程:
(defun asin (x0 y0 r)
(setq dt (/ pi 36) tt 0 any (* 2 pi))
(command "pline")
(while (<= tt any)
(setq x1 (+ x0 (* r (- tt (sin tt)))))
(setq y1 (+ y0 (* r (- 1 (cos tt)))))
(command (list x1 y1))
(setq tt (+ tt dt))
)
(command)
(command "pedit" "l" "f" "")
(command "redraw")
)
运行 (asin 300 300 200)
截图
二. 绘制渐开线 x=r(cost+tsint)y=r(sint-tcost) 0≤t≤a*l
编程:
(defun jian (x0 y0 a r l)
(setq dt (/ pi 36) tt 0 any (* a l))
(setq any (* any (/ pi 180)))
(command "pline")
(while (<= tt any)
(setq x1 (+ x0 (* r (+ (cos tt) (* tt (sin tt))))))
(setq y1 (+ y0 (* r (- (sin tt) (* tt (cos tt))))))
(command (list x1 y1))
(setq tt (+ tt dt))
)
(command)
(command "pedit" "l" "f" "")
(command "redraw")
)
运行(jian 200 200 100 10 10)
截图
三.绘制正弦曲线y=asin((2Π/t)*x+Ψ)
编程:
(defun xuan (x0 y0 a t1 ph)
(setq dt (/ pi 36) tt 0 ph (* ph (/ pi 180)))
(setq p0 (list x0 y0))
(command "pline")
(while (<= tt t1)
(setq b (+ (* (/ (* 2 pi) t1) tt) ph))
(setq y1 (+ y0 (* a (sin b))))
(command (list (+ x0 tt) y1))
(setq tt (+ tt dt))
)
(command)
(command "pedit" "l" "f" "")
)
运行(xuan 500 500 200 300 30)
截图:
四:使用递归方法编程
编程:
截图
五:使用函数嵌套法编写玫瑰线图案
编程:
(defun mei (x1 y1 a)
(setq dt (/ pi 36) tt 0 any (* 2 pi))
(setq p0 (list x1 y1))
(command "pline")
(while (<= tt any)
(setq p1 (polar p0 tt (* a (sin (* 2 tt)))))
(command p1)
(setq tt (+ dt tt))
)
(command (polar p0 any (* a (sin (* 2 pi)))))
(command)
(command "pedit" "l" "f" "")
)
(defun gui (x0 y0 am d n)
(setq x1 x0 y1 y0 a am)
(repeat n
(shi x1 y1 a)
(setq a (+ a d))
)
(command "redraw")
)
运行 (mei 200 200 100)
截图
运行 (gui 150 180 60 20 5)
截图
六.用双重循环法编写玫瑰线
编程:
(defun han (x0 y0 am d n)
(repeat n
(setq dt (/ pi 36) tt 0 any (* 2 pi))
(setq p0 (list x0 y0))
(command "pline")
(while (<= tt any)
(setq p1 (polar p0 tt (* am (sin (* 2 tt)))))
(command p1)
(setq tt (+ dt tt))
)
(command (polar p0 any (* am (sin (* 2 pi)))))
(command)
(command "pedit" "l" "f" "")
(setq am (+ am d))
)
(command "redraw")
)
运行程序(han 150 180 60 20 5)
截图:
七.编写六正变形叠加程序
编程:
(defun duo (x0 y0 r0 sr a da n)
(setq x1 x0 y1 y0 r r0 n1 6 a1 a)
(setq da (* da (/ pi 180)))
(setq a1 (* a1 (/ pi 180)))
(repeat n
(setq p0 (list x1 y1))
(setq p1 (polar p0 a1 r))
(command "polygon" n1 p0 "i" p1)
(setq r (+ r sr))
(setq a1 (+ a1 da))
)
(command)
(command "redraw")
)
运行(duo 500 500 60 10 60 10 15)
命令: (duo 500 500 60 10 60 10 15)
polygon 输入边的数目 <4>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令: polygon 输入边的数目 <6>: 6
指定正多边形的中心点或 [边(E)]:
输入选项 [内接于圆(I)/外切于圆(C)] : i
指定圆的半径:
命令:
命令: redraw
命令: nil
截图:
本文档为【计算机绘图autolisp程序作业】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。