找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 465|回复: 7

[求助] 关于 点表的计算 第二组点表分别减去前一组点表的数据

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2020-12-5 15:29:51 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 f4800 于 2020-12-6 12:56 编辑

有这么2组点表,每组数据都是代表相对于中心的距离 高程

左侧点表 DB-L,数据为
((0.0 384.083) ((-6.42665 385.086) (-15.9061 385.586) (-15.9061 388.327) (-29.5773 388.327) (-33.9669 390.671)))

右侧点表 DB-R ,数据为
((0.0 384.083) ((8.62691 386.695) (15.1137 386.695) (15.1137 388.529) (23.7395 388.529) (23.7395 390.135) (29.6778 390.372) (45.531 392.614)))


0.0 384.083  表示中心处的高程
比如:
(-6.42665 385.586)  ,表示左侧, 距中心 6.42655m ,高程 385.586
(8.62691 386.695)  ,表示右侧, 距中心 8.62691m ,高程 386.695
现在如何用lisp实现,同一侧,用第2组点表中的数据 分别减去第1组点表中的数据,用第3组点表中的数据 减去第2组点表中的数据,用第4组点表中的数据 分别减去第3组点表中的数据。。。。以此类推
能函数实现也可以
多谢
(最终就是 相对于前一个点的距离、高差      也就是  抬杆法)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2020-12-5 16:34:45 | 显示全部楼层
(setq lst '((-6.42665 385.586)
            (-15.9061 385.586)
            (-15.9061 388.327)
            (-29.5773 388.327)
            (-33.9669 390.671)
           )
)
(mapcar        '(lambda (a b)
           (mapcar '- b a)
         )
        lst
        (cdr lst)
)
((-9.47945 0.0) (0.0 2.741) (-13.6712 0.0) (-4.3896 2.344))
_$

点评

左侧点表 DB-L,数据为 ((0.0 384.083) ((-6.42665 385.086) (-15.9061 385.586) (-15.9061 388.327) (-29.5773 388.327) (-33.9669 390.671))) 右侧点表 DB-R ,数据为 ((0.0 384.083) ((8.62691 386.695) (15  详情 回复 发表于 2020-12-5 22:52
[*];;DB-L1 就是点表,但是修改后似乎无法得到我想要的结果 [*] [*](setq lst '( DB-L1 ) ) [*](mapcar '(lambda (a b) [*] (mapcar '- b a) [*] ) [*] lst [*] (c  详情 回复 发表于 2020-12-5 22:01
多谢大师。。。。我测试下 再次感谢  详情 回复 发表于 2020-12-5 17:00

评分

参与人数 1D豆 +10 收起 理由
f4800 + 10 积极指导

查看全部评分

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2020-12-5 17:00:05 | 显示全部楼层
st788796 发表于 2020-12-5 16:34
(setq lst '((-6.42665 385.586)
            (-15.9061 385.586)
            (-15.9061 388.327)

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2020-12-5 22:01:52 | 显示全部楼层
本帖最后由 f4800 于 2020-12-5 22:15 编辑
st788796 发表于 2020-12-5 16:34
(setq lst '((-6.42665 385.586)
            (-15.9061 385.586)
            (-15.9061 388.327)

  • ;;DB-L1 就是点表,似乎这样也可以  不知道对否?

    • (setq lst111    (mapcar    '(lambda (a b)
    •            (mapcar '- b a)
    •          )
    •         DB-L1
    •         (cdr DB-L1)
    •       )
    •       )            
    • (prompt  (LST-string lst111  ) )                  
    •                   



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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2020-12-5 22:52:27 | 显示全部楼层
st788796 发表于 2020-12-5 16:34
(setq lst '((-6.42665 385.586)
            (-15.9061 385.586)
            (-15.9061 388.327)

左侧点表 DB-L,数据为
((0.0 384.083) ((-6.42665 385.086) (-15.9061 385.586) (-15.9061 388.327) (-29.5773 388.327) (-33.9669 390.671)))

右侧点表 DB-R ,数据为
((0.0 384.083) ((8.62691 386.695) (15.1137 386.695) (15.1137 388.529) (23.7395 388.529) (23.7395 390.135) (29.6778 390.372) (45.531 392.614)))

目标:
1.第1组点表的第1个数据- 第2个点表的第1个数,第2组点表的第2个数据- 第1个点表的第2个数.。。。。 类推
然后组成新的点表或者字符串

举例:左侧

(0-(-6.42665)) (385.086-384.083)          (-6.42665)-(-15.9061)   (385.586-385.086)  。。 类推

大师 这种如何实现??多谢

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2020-12-7 11:23:06 | 显示全部楼层
(setq lst '((0.0 384.083)
            ((-6.42665 385.086)
              (-15.9061 385.586)
              (-15.9061 388.327)
              (-29.5773 388.327)
              (-33.9669 390.671)
            )
          )
)
先处理一下表
(setq lst (cons (car lst) (cadr lst)))
然后再用上面的语句

点评

多谢大师 指点 多谢 我测试 研究下  详情 回复 发表于 2020-12-7 12:34
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2020-12-7 12:34:13 | 显示全部楼层
st788796 发表于 2020-12-7 11:23
(setq lst '((0.0 384.083)
            ((-6.42665 385.086)
              (-15.9061 385.586)

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

使用道具 举报

已领礼包: 6471个

财富等级: 富甲天下

发表于 2020-12-8 00:04:41 | 显示全部楼层
关于 点表的计算 第二组点表分别减去前一组点表的数据
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 14:28 , Processed in 0.389145 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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