明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3045|回复: 14

[讨论]这下怎么做了,请帮忙lisp

  [复制链接]
发表于 2004-3-19 17:50:00 | 显示全部楼层 |阅读模式



我只想要交点1 与交点2,怎么样求得出来了


(求pt1 与 pt2连线与最外边两根线的交点)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2004-3-19 17:51:00 | 显示全部楼层
不用VL-扩展函数,lisp能做到吗
发表于 2004-3-19 17:55:00 | 显示全部楼层
函数:inters
 楼主| 发表于 2004-3-20 11:04:00 | 显示全部楼层
不是,我求出了多个交点, 与上面所有线的交点。


也就是多个交点怎么样排序了,按一个点到交点的距离?


或按X Y 的坐标值。
发表于 2004-3-20 11:47:00 | 显示全部楼层
我只想要交点1 与交点2,怎么样求得出来了


------------------------------------------------------


提问也要注意别人的理解,从上面这句话,谁能看出来你已经求出了所有交点,而问题是排序问题?
发表于 2004-3-20 12:20:00 | 显示全部楼层
仅以取代vl-sort函数,用法相同 (defun wl-sort(lst fun / i j n var1 var2 lst_new)
(defun chg-item(lst i j / item item_j)
(setq item (nth i lst))
(setq item_j (nth j lst))
(setq lst_new nil)
(setq m 0)
(repeat (length lst)
(cond
((= m i) (setq lst_new (append lst_new (list item_j))))
((= m j) (setq lst_new (append lst_new (list item))))
(t (setq lst_new (append lst_new (list (nth m lst)))))
)
(setq m (1+ m))
)
lst_new
)
(setq i 0
j 0
n (length lst))
(repeat (1- n)
(setq var1 (nth i lst))
(setq j (1+ i))
(repeat (- n i 1)
(setq var2 (nth j lst))
(if (not ((eval fun) var1 var2))
(progn
(setq lst (chg-item lst i j))
(setq var1 var2)
(setq var2 (nth j lst))
)
)
(setq j (1+ j))
)
(setq i (1+ i))
)
lst
)
发表于 2004-3-20 14:43:00 | 显示全部楼层
你的取代vl-sort和vl-sort有什么不同的地方,能说说么?
发表于 2004-3-20 14:51:00 | 显示全部楼层
一个帖子最好看完整了,看看2楼的要求。。。
 楼主| 发表于 2004-3-20 20:53:00 | 显示全部楼层
meflying,不好意思.
发表于 2004-3-21 02:38:00 | 显示全部楼层
谢谢版主提醒,我大致看了下你的程序。好像还可以精简精简:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-1 17:31 , Processed in 0.186281 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表