立即注册 登录
晓东CAD家园-论坛 返回首页

eachy的个人空间 http://bbs.xdcad.net/?14 [收藏] [复制] [分享] [RSS]

日志

Grread、Grvecs与矩阵应用演示

已有 738 次阅读2013-5-6 18:14 |个人分类:Lisp

                                      

;;Grvecs与矩阵配合实例:动态拖动演示框 By Eachy 2003.02.28
(defun ea:drawbymatrix
(/ ea:grvecs urp0 urp loop urp1 source pt matrix)
(defun ea:grvecs (p1 p2 color matrix1 matrix2 / p3 p4 p5 p6 p7)
(setq p3 (polar p2 0.0 10)
p4 (polar p2 0.0 1)
p5 (polar p4 0.0 7)
p6 (polar p5 _pi2 2)
p7 (polar p4 _pi2 2)
)
(grvecs (list color p1 p2 p2 p3))
(grvecs (list color p4 p5 p5 p6 p6 p7 p7 p4) matrix1)
(grvecs (list color p4 p5 p5 p6 p6 p7 p7 p4) matrix2)
)
(setq matrix '((1.0 0.0 0.0 0.0)
(0.0 1.0 0.0 0.0)
(0.0 0.0 1.0 0.0)
(0.0 0.0 0.0 1.0)
)
)
(setq urp (getpoint "\n基点: ")
loop t
)
(prompt "\nscond point :")
(while loop
(setq urp1 (grread t 1 2))
(setq source (car urp1)
pt (cadr urp1)
)
(cond
((and (= source 5) ;跟踪点
(or (/= (car urp) (car pt))
(/= (cadr urp) (cadr pt))
)
)
(progn
(if urp0
(ea:grvecs urp
urp0
0 ;用屏幕色覆盖前次绘制的矢量获取背景色函数搜索前面帖子
(ea:matrix_SetTranslation matrix '(1.0 1.0 0.0))
(ea:matrix_SetTranslation matrix '(1.0 -3.0 0.0))
)
)
(ea:grvecs urp
pt
1
(ea:matrix_SetTranslation matrix '(1.0 1.0 0.0))
(ea:matrix_SetTranslation matrix '(1.0 -3.0 0.0))
)

(setq urp0 pt)
)
)
((or (= source 3) ;拾取点
(and (= source 2) (or (= pt 13) (= pt 32)))
)
(setq loop nil)
)
(t)
)
)
)

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-27 22:55 , Processed in 0.249092 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部