早教吧作业答案频道 -->其他-->
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教程请高手用...的网友还看了以下:
高一算法i=12s=1DOs=s*ii=i+1LOOPUNTIL条件PRINTsEND输出的结果是 2020-05-22 …
利息理论中d(m)与i(m)的关系d=i/(1+i),那么名义贴现率d(m)和i(m)也有这种关系 2020-06-02 …
设函数f(x)=e^(x-1)+a/x(I)若函数f(x)在x=1处有极值,且函数g(x)=f(x 2020-06-06 …
50条最短名人名言50条名人名言越短越好! 2020-06-10 …
然后IamJane(名字)可不可以替换成I'mJane(名字)?I'mfromChina(地名)可 2020-07-13 …
设随机变量X的分布为P(X=1)=P(X=2)=12,在给定X=i的条件下,随机变量Y服从均匀分布 2020-07-25 …
如图是菜豆种子i结构.(1)请填写1--6所示i结构名称.1&nb1p;&nb1p;2&nb1p;3 2020-11-01 …
1:假如让你在自己的书房里,贴上一副书画作品,你会选择一条什么名言?2:学校1:假如让你在自己的书房 2020-11-07 …
报名条件16~70周岁;身高不低于150厘米流程报名——到指定医院体检——交通法规笔试——两个月左右 2020-12-06 …
5条名人名言,5条格言,5条谚语,5条歇后语,四大名著里著名人物的故事 2020-12-06 …