找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1108|回复: 5

[求助] [求助]:恳请大虾出手_列表的问题

[复制链接]
发表于 2006-5-17 23:02:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
怎样提取一个点的列表里面,X轴相同,而Y轴的差值的绝对值为8的点组成一个或多个新列表?
例如列表'((150.0 286.0 0.0)(150.0 302.0 0.0)(450.0 236.5 0.0)(450.0 397.0 0.0)(150.0 294.0 0.0)(580.0 286.0 0.0)(450.0 244.5 0.0)(150.0 480.6 0.0)(580.0 294.0 0.0)(230.0 286.0 0.0)(580.0 302.0 0.0))就应该能提取出'((150.0 286.0 0.0)(150.0 294.0 0.0)(150.0 302.0 0.0))'((450.0 236.5 0.0)(450.0 244.5 0.0))'((580.0 286.0 0.0)(580.0 294.0 0.0)(580.0 302.0 0.0))这三个列表,想破了脑袋也没有头绪,只好再请各位大虾出手了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-5-17 23:17:54 | 显示全部楼层
vl-remov-if 加 equal使用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-18 08:59:10 | 显示全部楼层

Re: [求助]:恳请大虾出手_列表的问题

最初由 mhy007 发布
[B]怎样提取一个点的列表里面,X轴相同,而Y轴的差值的绝对值为8的点组成一个或多个新列表?
例如列表'((150.0 286.0 0.0)(150.0 302.0 0.0)(450.0 236.5 0.0)(450.0 397.0 0.0)(150.0 294.0 0.0)(580.0 286.0 0.0)(45... [/B]

  1. (defun sortpts (pts / pl)
  2.   (setq        pts (vl-sort pts
  3.                      '(lambda (p1 p2)
  4.                         (if (equal (car p1) (car p2) 1e-8)
  5.                           (< (cadr p1) (cadr p2))
  6.                           (< (car p1) (car p2))
  7.                         )
  8.                       )
  9.             )
  10.   )
  11.   (foreach p pts
  12.     (if        pl
  13.       (if (and (equal (car p) (caaar pl) 1e-8)
  14.                (equal (abs (- (cadaar pl) (cadr p))) 8. 1e-8)
  15.           )
  16.         (setq pl (cons (cons p (car pl)) (cdr pl)))
  17.         (setq pl (cons (list p) pl))
  18.       )
  19.       (setq pl (cons (list p) pl))
  20.     )
  21.   )
  22.   (vl-remove-if '(lambda (x) (= (length x) 1)) pl)
  23. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-19 12:54:39 | 显示全部楼层
这么多的代码,楼上的辛苦了,谢谢。还没有仔细研究,不过运行了一下,提示:参数太少。不知为什么。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8157个

财富等级: 富甲天下

发表于 2006-5-19 13:11:56 | 显示全部楼层
(setq Pts '((150.0 286.0 0.0)(150.0 302.0 0.0)(450.0 236.5 0.0)(450.0 397.0 0.0)(150.0 294.0 0.0)(580.0 286.0 0.0)(450.0 244.5 0.0)(150.0 480.6 0.0)(580.0 294.0 0.0)(230.0 286.0 0.0)(580.0 302.0 0.0)))

(sortpts pts)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

发表于 2006-5-19 16:12:35 | 显示全部楼层
这个应该不难的!
代码也用不了那么多!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-29 08:19 , Processed in 0.426513 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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