乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 131|回复: 9

请问怎样以最短的距离连接分布在长方形上的6个点!

[复制链接]

6

主题

18

帖子

2

银币

初来乍到

Rank: 1

铜币
42
发表于 2004-10-9 09:19:00 | 显示全部楼层 |阅读模式
请帮帮小弟
         怎样用lisp编写一个能解决如下问题的程程序
假设有6个点,任意在一个长方形的4个边上放置,长方形4个角点的坐标已知,6个点的坐标也已知,而且其z坐标相同,想要请问怎样以最短的线延着长方形的边连接这6个点,连线必须是线延着长方形的边布置的,当各点不在同一边上时,要经过一些角点,各点在长方形上的位置是任意摆放的。
这个程序对我来说很重要,麻烦各位大侠费费神,小弟感激不尽!
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-10-9 13:20:00 | 显示全部楼层
找到6个点中间隔最大的两点,问题就解决了。
回复

使用道具 举报

6

主题

18

帖子

2

银币

初来乍到

Rank: 1

铜币
42
发表于 2004-10-9 13:58:00 | 显示全部楼层
关键是怎么找啊!小弟想了好几天了,都没有想明白啊!谁帮忙编写一个啊!
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-10-9 14:02:00 | 显示全部楼层
参考下面函数的用法:
vlax-curve-getDistAtPoint
回复

使用道具 举报

74

主题

1603

帖子

24

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1906
发表于 2004-10-9 14:04:00 | 显示全部楼层
不明白!这个长方形不就是想要的吗?发个图或图片看看!
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-10-9 14:09:00 | 显示全部楼层
我想楼主是想要一个开口的长方形。
回复

使用道具 举报

6

主题

18

帖子

2

银币

初来乍到

Rank: 1

铜币
42
发表于 2004-10-9 15:11:00 | 显示全部楼层
6楼的说的很对。
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-10-9 15:57:00 | 显示全部楼层
晕,这里又有,希望不要重复发贴,一个问题发一个帖子就够了,不要到处发帖子,
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-10-9 16:28:00 | 显示全部楼层
按点顺序直接连起来了,剩下的事情,你自己做做吧
  1. (vl-load-com)
  2. (defun c:test( / ent ptLst i n dist l lMax)
  3.    (setq ent (car (entsel)))
  4.    (repeat 6
  5.        (setq ptLst (append ptLst (list (getpoint "\nPick a point:"))))
  6.    )
  7.    (setq ptLst (mapcar '(lambda(x) (list (vlax-curve-getDistAtPoint ent x) x)) ptLst))
  8.    (setq ptLst (vl-sort ptLst '(lambda (x1 x2) ( lMax l)
  9.        (progn
  10.            (setq n (vl-position lMax dist))
  11.            (repeat (1+ n)
  12.   (setq ptLst (reverse (cons (car ptLst) (reverse (cdr ptLst)))))
  13.            )
  14.        )
  15.    )
  16.    (command "_.pline")
  17.    (mapcar 'command (mapcar 'cadr ptLst))
  18.    (command "")
  19. )
回复

使用道具 举报

6

主题

18

帖子

2

银币

初来乍到

Rank: 1

铜币
42
发表于 2004-10-9 16:55:00 | 显示全部楼层
6个点的坐标是已知的,不需要输入!上面有程序对我来说有点高深了,不太懂!不过不是要谢谢各位朋友的回帖。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-20 11:48 , Processed in 1.482852 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表