早教吧作业答案频道 -->其他-->
autolisp教程请高手用AutoLISP编写4个小程序:函数名为"tuxing",要求执行此函数时使用键盘输入两个同心圆的圆心坐标和每个圆的半径值,然后:1.自动绘出这两个圆和水平,垂直的两条中心线2.自
题目详情
autolisp教程 请高手用AutoLISP编写4个小程序:
函数名为"tuxing",要求执行此函数时使用键盘输入两个同心圆的圆心坐标和每个圆的半径值,然后:
1.自动绘出这两个圆和水平,垂直的两条中心线
2.自动绘出这连个圆和与圆同心的正方形
请根据以上两个条件编写两个程序
函数名为"tuxing",要求执行此函数时使用键盘输入一个圆的圆心坐标和半径值,然后:
1.自动绘出该圆,和与该圆在左右侧相切且直径相同的另外两个圆
2.自动绘出该圆和与该圆同心的正方形
请根据以上两个条件编写两个程序
可以将程序拆分成4个吗?因为有4个题目,
函数名为"tuxing",要求执行此函数时使用键盘输入两个同心圆的圆心坐标和每个圆的半径值,然后:
1.自动绘出这两个圆和水平,垂直的两条中心线
2.自动绘出这连个圆和与圆同心的正方形
请根据以上两个条件编写两个程序
函数名为"tuxing",要求执行此函数时使用键盘输入一个圆的圆心坐标和半径值,然后:
1.自动绘出该圆,和与该圆在左右侧相切且直径相同的另外两个圆
2.自动绘出该圆和与该圆同心的正方形
请根据以上两个条件编写两个程序
可以将程序拆分成4个吗?因为有4个题目,
▼优质解答
答案和解析
(一)
(defun c:tuxing1 ()
(setq Rd (getdist "\n R=:"))
(setq Rx (getdist "\n r=:"))
(setq p0 (getPoint "\n Enter Center of Circle"))
(setq p1 (list(car p0) (+ (+ (cadr p0) Rd) 5)))
(setq p2 (list(- (- (car p0) Rd) 5) (cadr p0)))
(setq p3 (list(car p0) (- (- (cadr p0) Rd) 5)))
(setq p4 (list(+ (+ (car p0) Rd) 5) (cadr p0)))
(Command "line" p1 p3"")
(Command "line" p2 p4"")
(Command "circle" p0 Rd)
(Command "circle" p0 RX)
)
(二)
(defun c:tuxing2 ()
(setq Rd (getdist "\n R=:"))
(setq Rx (getdist "\n r=:"))
(setq p0 (getPoint "\n Enter Center of Circle"))
(setq a1 (list(+ (car p0) (* (cos (/ pi 4)) Rx)) (+ (cadr p0) (* (cos (/ pi 4)) Rx))))
(setq a2 (list(- (car p0) (* (cos (/ pi 4)) Rx)) (cadr a1)))
(setq a3 (list(car a2) (- (cadr p0) (* (cos (/ pi 4)) Rx))))
(setq a4 (list(car a1) (cadr a3)))
(setq b1 (list(+ (car p0) (* (cos (/ pi 4)) Rd)) (+ (cadr p0) (* (cos (/ pi 4)) Rd))))
(setq b2 (list(- (car p0) (* (cos (/ pi 4)) Rd)) (cadr b1)))
(setq b3 (list(car b2) (- (cadr p0) (* (cos (/ pi 4)) Rd))))
(setq b4 (list(car b1) (cadr b3)))
(Command "line" a1 a2 a3 a4 a1"")
(Command "line" b1 b2 b3 b4 b1"")
(Command "circle" p0 Rd)
(Command "circle" p0 RX)
)
(三)
(defun c:tuxing3 ()
(setq r (getdist "\n r=:"))
(setq p0 (getPoint "\n Enter Center of Circle"))
(setq p1 (list(- (car p0) (* r 2)) (cadr p0)))
setq p2 (list(+ (car p0) (* r 2)) (cadr p0)))
((Command "circle" p0 r)
(Command "circle" p1 r)
(Command "circle" p2 r)
)
(四)
(defun c:tuxing4 ()
(setq r (getdist "\n r=:"))
(setq p0 (getPoint "\n Enter Center of Circle"))
(setq a1 (list(+ (car p0) (* (cos (/ pi 4)) r)) (+ (cadr p0) (* (cos (/ pi 4)) r))))
(setq a2 (list(- (car p0) (* (cos (/ pi 4)) r)) (cadr a1)))
(setq a3 (list(car a2) (- (cadr p0) (* (cos (/ pi 4)) r))))
(setq a4 (list(car a1) (cadr a3)))
(Command "line" a1 a2 a3 a4 a1"")
(Command "circle" p0 r)
)
可以了,你试试吧!
(defun c:tuxing1 ()
(setq Rd (getdist "\n R=:"))
(setq Rx (getdist "\n r=:"))
(setq p0 (getPoint "\n Enter Center of Circle"))
(setq p1 (list(car p0) (+ (+ (cadr p0) Rd) 5)))
(setq p2 (list(- (- (car p0) Rd) 5) (cadr p0)))
(setq p3 (list(car p0) (- (- (cadr p0) Rd) 5)))
(setq p4 (list(+ (+ (car p0) Rd) 5) (cadr p0)))
(Command "line" p1 p3"")
(Command "line" p2 p4"")
(Command "circle" p0 Rd)
(Command "circle" p0 RX)
)
(二)
(defun c:tuxing2 ()
(setq Rd (getdist "\n R=:"))
(setq Rx (getdist "\n r=:"))
(setq p0 (getPoint "\n Enter Center of Circle"))
(setq a1 (list(+ (car p0) (* (cos (/ pi 4)) Rx)) (+ (cadr p0) (* (cos (/ pi 4)) Rx))))
(setq a2 (list(- (car p0) (* (cos (/ pi 4)) Rx)) (cadr a1)))
(setq a3 (list(car a2) (- (cadr p0) (* (cos (/ pi 4)) Rx))))
(setq a4 (list(car a1) (cadr a3)))
(setq b1 (list(+ (car p0) (* (cos (/ pi 4)) Rd)) (+ (cadr p0) (* (cos (/ pi 4)) Rd))))
(setq b2 (list(- (car p0) (* (cos (/ pi 4)) Rd)) (cadr b1)))
(setq b3 (list(car b2) (- (cadr p0) (* (cos (/ pi 4)) Rd))))
(setq b4 (list(car b1) (cadr b3)))
(Command "line" a1 a2 a3 a4 a1"")
(Command "line" b1 b2 b3 b4 b1"")
(Command "circle" p0 Rd)
(Command "circle" p0 RX)
)
(三)
(defun c:tuxing3 ()
(setq r (getdist "\n r=:"))
(setq p0 (getPoint "\n Enter Center of Circle"))
(setq p1 (list(- (car p0) (* r 2)) (cadr p0)))
setq p2 (list(+ (car p0) (* r 2)) (cadr p0)))
((Command "circle" p0 r)
(Command "circle" p1 r)
(Command "circle" p2 r)
)
(四)
(defun c:tuxing4 ()
(setq r (getdist "\n r=:"))
(setq p0 (getPoint "\n Enter Center of Circle"))
(setq a1 (list(+ (car p0) (* (cos (/ pi 4)) r)) (+ (cadr p0) (* (cos (/ pi 4)) r))))
(setq a2 (list(- (car p0) (* (cos (/ pi 4)) r)) (cadr a1)))
(setq a3 (list(car a2) (- (cadr p0) (* (cos (/ pi 4)) r))))
(setq a4 (list(car a1) (cadr a3)))
(Command "line" a1 a2 a3 a4 a1"")
(Command "circle" p0 r)
)
可以了,你试试吧!
看了 autolisp教程请高手用...的网友还看了以下:
在听磁带的时候发觉:带轴上带卷的半径经过20min后减少一半,问此后半径又减小一半时要多长时间. 2020-05-14 …
甲乙两地相距205千米,小王开汽车从甲地出发,计划5小时到达乙地.他前一半时间每小时行36千米,为 2020-05-16 …
用五条绳子编一条手绳我想编五色带,用五种颜色编成一条手绳,编好的时候要在表面都能看清楚五种颜色.记 2020-05-17 …
甲乙两人生产数量相同的一种零件,甲以每小时9个的效率生产了总量的一半,又以每小时11个的效率生产了 2020-05-19 …
一辆汽车从甲地开往乙地,然后又沿原路返回,去时前一半路程每小时行60千米,后一半路程每小时行75千 2020-05-24 …
甲、乙两人同时从A地出发到B地,甲在一半时间内每小时走5千米,另一半时间内每小时走4千米,乙在一半 2020-06-24 …
从A地到B地,甲以每小时5千米的速度走完全程的一半,又以每小时4千米的速度走完剩下的一半路程;乙用 2020-07-14 …
我国古代一种大型编组乐器--编钟,敲击大小不同的编钟可以演奏出优美的乐曲.敲击时发出的声音是由编钟 2020-07-22 …
甲、乙两个学生从学校出发,沿着同一方向走一个体育场,甲先以一半时间从每小时4千米行走,另一半时间以 2020-08-03 …
眭禄回家啦,有和小编一起去金域半岛迎接家乡小英雄的么?小编得到消息,伦敦奥运会平衡木亚军得主眭禄今天 2020-11-12 …