用LISP编写一程序,可在任意位置绘制任意大小图形

 我来答
dnbc1
2014-05-11 · TA获得超过978个赞
知道小有建树答主
回答量:1235
采纳率:92%
帮助的人:405万
展开全部
(defun c:6jx()
(setq cm (getvar "cmdecho") os (getvar "osmode"))
(setvar "cmdecho" 0)
(command "_undo" "be")
(while (progn (setvar "osmode" 33)
(setq pt (getpoint "\n请选取插入点<回车结束>:"))
)
(if (= (setq a (getreal "\n三角形边长<10>:")) nil)
(setq a 10.0)
)
(setq p1 pt
p2 (mapcar '+ p1 (list a 0))
p3 (polar p1 (* pi (/ -1.0 3.0)) a)
p4 (mapcar '* (mapcar '+ p1 p2) '(0.5 0.5))
p5 (mapcar '* (mapcar '+ p2 p3) '(0.5 0.5))
p6 (mapcar '* (mapcar '+ p3 p1) '(0.5 0.5))
p7 (inters p1 p5 p2 p6)
p8 (mapcar '+ p7 '(1 0))
)
(setvar "osmode" 0)
(command "_pline" p1 p2 p3 "c")
(command "_mirror" (entlast) "" p7 p8 "n")
(command "_pline" p4 p5 p6 "c")
)
(command "_undo" "e")
(setvar "osmode" os) (setvar "cmdecho" cm)
(princ)
)
ldd_boy
2014-05-09 · TA获得超过287个赞
知道小有建树答主
回答量:192
采纳率:75%
帮助的人:125万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式